gNMI Genstate サブスクリプション
Junos OS Evolvedリリース24.2R1以降、ジュニパーネットワークスは genstate YANGデータモデルを公開しています。 genstate
モデルは、Junosデバイスの運用状態データのサブスクライブ可能なYANGモデルです。gNMIクライアントは、モデルで定義されたリソースパスにサブスクライブして、特定の状態データを取得できます。
Juniper/yang GitHub リポジトリまたはジュニパーネットワークスからモデルを表示またはダウンロードします。
新しいモデルを使用すると、gRPC ダイヤルイン環境の gNMI クライアントは、SAMPLE サブモードで genstate リソース パスと STREAM 統計をコレクターにのみサブスクライブできます。ON_CHANGEサブモードには対応していません。
次のサブスクリプションの例では、X.509 証明書を使用した相互認証用に構成されたターゲット デバイスを使用します。サブスクリプション要求は、ターゲット デバイスのローカル証明書の検証に必要なルート CA 証明書を提供し、ターゲット デバイスがクライアントを認証できるようにクライアントのキーと証明書も提供します。サブスクリプションは、STREAM モードとサブモード SAMPLE を使用し、リソース・パス genstate:/genstate/system-information/os-version
データを要求します。コレクターに返されるテレメトリデータは、ターゲットデバイスがJunos OSバージョン 24.2R1.12-EVO
で動作していることを示しています。
user@controller:~$ gnmic sub -a 198.51.100.10:32767 --mode stream --stream-mode sample -u grpc-user -p secret --tls-ca certs/serverRootCA.crt --tls-cert certs/client.crt --tls-key certs/client.key --sample-interval 30s --path genstate:/genstate/system-information/os-version { "source": "198.51.100.10:32767", "subscription-name": "default-1708559603", "timestamp": 1708559609668499930, "time": "2024-02-21T15:53:29.66849993-08:00", "prefix": "genstate:genstate/system-information/os-version", "updates": [ { "Path": "os-version", "values": { "os-version": "24.2R1.12-EVO" } } ] }
次のサブスクリプションの例では、X.509 証明書を使用した相互認証用に構成されたターゲット デバイスを使用します。サブスクリプションは、STREAM モードとサブモード SAMPLE を使用し、リソース・パス・ genstate:/genstate/interface-information/physical-interface[name=et-1/0/1]/admin-status
データを要求します。 admin-status
(管理ステータス)は、インターフェイスが有効(アップ)か無効(ダウン)かを示します。コレクターに返されるテレメトリ データは、物理インターフェイス et-1/0/1
が up
ことを示しています。
user@controller:~$ gnmic sub -a 198.51.100.10:32767 --mode stream --stream-mode sample -u grpc-user -p secret --tls-ca certs/serverRootCA.crt --tls-cert certs/client.crt --tls-key certs/client.key --sample-interval 30s --path genstate:/genstate/interface-information/physical-interface[name=et-1/0/1]/admin-status { "source": "198.51.100.10:32767", "subscription-name": "default-1708561308", "timestamp": 1708561313983469233, "time": "2024-02-21T16:21:53.983469233-08:00", "prefix": "genstate:genstate/interface-information/physical-interface[name=et-1/0/1]/admin-status", "updates": [ { "Path": "admin-status", "values": { "admin-status": "up" } } ] }