Telegraf의 cisco_telemetry_mdt 플러그인을 사용해 보았습니다.
소개
Telegraf 1.11에서 Cisco Telemetry에 해당하는 다음 두 개의 플러그인이 추가되었습니다.
cisco_telemetry_mdt
플러그인은 Model Driven Telemetry라는 사전 표준 (즉, Cisco 자체) Telemetry에 해당하는 Telegraf 플러그인입니다. 반면에 cisco_telemetry_gnmi
플러그인은 GNMI Telemetry에 해당하는 Telegraf 플러그인입니다.이번에는 이들 중
cisco_telemetry_mdt
플러그인을 사용해 보았습니다.cisco_telemetry_mdt 플러그인
cisco_telemetry_mdt
플러그인으로 되는 방식은 다음과 같습니다.
각 방법과 플랫폼 지원은 다음과 같습니다.
IOS XR(32-bit)
IOS XR(64-bit)
IOS XE
NX-OS
TCP
yes[*1]
yes[*1]
아니
아니
gRPC
아니
yes[*2]
yes[*3]
yes[*4]
[*1] IOS XR (32-bit and 64-bit) 6.1.x 이상
[*2] IOS XR (64-bit) 6.1.x 이상
[*3] IOS XE 16.10 이상
[*4] NX-OS 7.x 이상
GPB-KV(self-describing-gpb)
는 Cisco Model Driven Telemetry의 인코딩 방법입니다. 자세한 내용은 다음 기사를 참조하십시오.실험
즉시 CSR1000v를 사용해보십시오. 전송은 GRPC dialout
, 인코딩은 GPB-KV
입니다.
환경
이 기사에서는 다음 환경을 사용합니다.
라우터 설정
라우터 설정은 다음과 같습니다.
netconf-yang
!
telemetry ietf subscription 8
encoding encode-kvgpb
filter xpath /memory-ios-xe-oper:memory-statistics/memory-statistic
stream yang-push
update-policy periodic 1000
receiver ip address <telegraf's IP> 57000 protocol grpc-tcp
end
Telegraf 설정
Telegraf 설정 파일의 병아리를 만듭니다.
$ telegraf -sample-config --input-filter cisco_telemetry_mdt > telemetry.conf
InfluxDB 출력 플러그인을 설정합니다. 구체적으로는
urls
와 database
의 항목을 코멘트를 제외했습니다.telemetry.conf
...
# Configuration for sending metrics to InfluxDB
[[outputs.influxdb]]
## The full HTTP or UDP URL for your InfluxDB instance.
##
## Multiple URLs can be specified for a single cluster, only ONE of the
## urls will be written to each interval.
# urls = ["unix:///var/run/influxdb.sock"]
# urls = ["udp://127.0.0.1:8089"]
urls = ["http://127.0.0.1:8086"]
## The target database for metrics; will be created as needed.
## For UDP url endpoint database needs to be configured on server side.
database = "telegraf"
...
cisco_telemetry_mdt
플러그인의 설정은, 디폴트의 것을 그대로 사용했습니다. 참고까지 그대로 게재합니다.이번에는 사용하지 않았지만
inputs.cisco_telemetry_mdt.aliases
를 변경하면 기본값이 길어지기 쉬운 measurement 이름을 간단한 measurement 이름으로 별칭 할 수 있습니다.telemetry.conf
...
# Cisco model-driven telemetry (MDT) input plugin for IOS XR, IOS XE and NX-OS platforms
[[inputs.cisco_telemetry_mdt]]
## Telemetry transport (one of: tcp, grpc)
transport = "grpc"
## Address and port to host telemetry listener
service_address = ":57000"
## Enable TLS for GRPC transport
# tls_cert = "/etc/telegraf/cert.pem"
# tls_key = "/etc/telegraf/key.pem"
## Enable TLS client authentication and define allowed CA certificates
# tls_allowed_cacerts = ["/etc/telegraf/clientca.pem"]
## Define aliases to map telemetry encoding paths to simple measurement names
[inputs.cisco_telemetry_mdt.aliases]
ifstats = "ietf-interfaces:interfaces-state/interface/statistics"
...
Telegraf를 시작합니다.
$ telegraf -config telemetry.conf
InfluxDB 측에는 다음과 같은 레코드가 작성됩니다.
> select free_memory,total_memory,used_memory from "Cisco-IOS-XE-memory-oper:memory-statistics/memory-statistic" limit 5
name: Cisco-IOS-XE-memory-oper:memory-statistics/memory-statistic
time free_memory total_memory used_memory
---- ----------- ------------ -----------
1562304066355000000 1931859996 2219193232 287333236
1562304066355000000 824 3149400 3148576
1562304076354000000 1931856900 2219193232 287336332
1562304076354000000 824 3149400 3148576
1562304086354000000 1931797620 2219193232 287395612
(덤) Grafana 샘플
마지막으로, Grafana에서 그래프로 작성된 샘플입니다.
오시마
Reference
이 문제에 관하여(Telegraf의 cisco_telemetry_mdt 플러그인을 사용해 보았습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tetsusat/items/0b76d0e6c6c08e219e90텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)