gNMI Genstate 订阅
从 Junos OS 演化版 24.2R1 版开始,瞻博网络会发布 生成态 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" } } ] }