About gNMI
gNMI (gRPC Network Management Interface) is configured on gRPC. Configuring gNMI helps to edit, read the configuration, and operational state of a network device. It also enables the network devices to generate telemetry streams to a designated data collection system.
Note |
You can configure gNMI as a child service feature of gRPC feature only. Cisco NX-OS supports all gNMI RPC as mentioned in the following table:
|
To subscribe RPC, Cisco NX-OS supports the below submodes:
Type | Sub Type | Supported | Description |
---|---|---|---|
Once |
Yes |
Switch sends current values only once for all specified paths. |
|
Poll |
Yes |
Whenever the switch receives a Poll message, the switch sends the current values for all specified paths. |
|
Stream |
Sample |
Yes |
Once per stream sample interval, the switch sends the current values for all specified paths. The supported sample interval range is from 1 through 604,800 second. The default sample interval is 10 seconds. |
On_Change |
Yes |
The switch sends current values as its initial state, but updates values only when there are changes such as create, modify, or delete for the specified paths. |
gNMI subscription is commonly referred to as dial-in telemetry. As gNMI requires an external customer to initiate the request in the network device.
Cisco NX-OS supports a separate telemetry feature in which the networking device pushes the telemetry data out of external receivers, it is referred to as dial-out telemetry. For more information, see the Telemetry section.
Beginning with Cisco NX-OS Release 10.4(3)F, OpenConfig path openconfig-system:/system/processes supports On-change gnmi subscriptions. This path supports both gnmi-proto and gnmi-json encodings. The subscription will remain active until the client unsubscribes the same path.
It is recommended to make the most strict possible subscription for better efficiency. For example, to monitor cpu-usage-user, you can subscribe the data directly rather than using On-target gnmi subscription for general path like /system/processes, to avoid event data.