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"
}
}
]
}