Telegraf의 cisco_telemetry_mdt 플러그인을 사용해 보았습니다.

소개



Telegraf 1.11에서 Cisco Telemetry에 해당하는 다음 두 개의 플러그인이 추가되었습니다.
  • cisco_telemetry_mdt
  • cisco_telemetry_gnmi
  • cisco_telemetry_mdt 플러그인은 Model Driven Telemetry라는 사전 표준 (즉, Cisco 자체) Telemetry에 해당하는 Telegraf 플러그인입니다. 반면에 cisco_telemetry_gnmi 플러그인은 GNMI Telemetry에 해당하는 Telegraf 플러그인입니다.

    이번에는 이들 중 cisco_telemetry_mdt 플러그인을 사용해 보았습니다.

    cisco_telemetry_mdt 플러그인


    cisco_telemetry_mdt 플러그인으로 되는 방식은 다음과 같습니다.
  • 전송
  • TCP dialout
  • gRPC dialout (w/or w/o TLS)

  • 인코딩
  • GPB-KV (self-describing-gpb)


  • 각 방법과 플랫폼 지원은 다음과 같습니다.



    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입니다.

    환경



    이 기사에서는 다음 환경을 사용합니다.
  • CSR1000V IOS XE 16.11.01b
  • 우분투 16.04.6 LTS
  • Telegraf 1.11.1-1
  • InfluxDB 1.7.7
  • Grafana 6.2.5

  • 라우터 설정



    라우터 설정은 다음과 같습니다.
    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 출력 플러그인을 설정합니다. 구체적으로는 urlsdatabase 의 항목을 코멘트를 제외했습니다.

    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에서 그래프로 작성된 샘플입니다.



    오시마

    좋은 웹페이지 즐겨찾기