😺

JTI - Juniper Telemetry Interface

2022/06/05に公開

Abstract

  • JTIMONでDial-inなJTIを試した
    • JunOS <<< JTIMON <<< Prometheus >>> Victoria Metrics <<< Grafana
    • 物理IFのCounterは見えるが今回使用した機器ではSubIF用PATHが未対応のようでCounter取得出来なかった、残念

環境

  • JunOS: 21.4R1.12
  • JTIMON

Details

JTIMON

JunOS設定

  • JunOSの設定はこれだけ、SSLでもいける
  • routing-instance awareには未対応なので一時的にdelete system management-instanceした
delete system management-instance
set system services extension-service request-response grpc clear-text port 32767
set system services extension-service request-response grpc skip-authentication
set system services extension-service notification allow-clients address 0.0.0.0/0

JTIMON設定

./jtimon-linux-amd64 --explore-config結果から必要そうな項目を抜き出したらこのへんだった

prom.json
 {
    "port": 32767,
    "host": "<< JunOSデバイスのIPアドレス >>",
    "grpc": {
        "ws": 0
    },
    "paths": [
        {
            "path": "/interfaces/interface/state/counters/in-octets",
            "freq": 300000
        }
    ],
    "alias" : "tests/data/juniper-junos/alias/alias.txt"
}

Collector起動

Collectorを起動する

 sudo ./jtimon-linux-amd64 --prometheus --config prom.json --prometheus-host << PrometheusのIPアドレス >> --prometheus-port 8090 --print --compression string

応答が確認できる

/// snip ///
sync_response: false
  key: __timestamp__
  uint_value: 1654612026444
  key: __prefix__
  str_value: /interfaces/interface[name='et-0/0/2']/
  key: init-time
  uint_value: 1654610258
  key: state/parent-ae-name
  str_value:
  key: state/high-speed
  uint_value: 40000
  key: state/counters/in-pkts
  uint_value: 87959
  key: state/counters/in-octets
  uint_value: 45217758
  key: state/counters/in-unicast-pkts
  uint_value: 86919
  key: state/counters/in-multicast-pkts
  uint_value: 1017
  key: state/counters/in-broadcast-pkts
  uint_value: 3
  /// snip ///

Prometheus設定

JTIMON実行時に指定したprometheus-portをprometheus側からscrapeすればOK

prometheus.yaml
scrape_configs:
  - job_name: 'jtimon'
    static_configs:
      - targets: ['<<JTIMONのIPアドレス>>:8090']

Prometheus Target確認

Scrapingに成功しTarget認識されました

Metrics確認

alias後の名称でMetrics確認出来る、labelは今回いじってない

JunOSのPath Support状況

https://apps.juniper.net/telemetry-explorer/select-software?software=Junos OS&release=22.1R1&moduleId=All&platform=11310960&tagId=252734&tagName=in-octets

  • SubIF CounterのPath対応はMX系だとMX960/2020/10008あたり
  • QFX5100が対応しているのでハイエンド縛りではなさそう?
    /interfaces/interface/subinterfaces/subinterface/state/counters/in-octets

OpenNTI Dial-out方式

IOS-XR対応

  • JTIMONでIOS-XRも見れるらしい
  • bigmuddy-network-telemetry-pipelineが死んだのでpipeline-gnmiとJTIMONでdial-out比較、とか

参考

Discussion