Home
gnmic
(pronoun.: gee·en·em·eye·see) is a gNMI CLI client that provides full support for Capabilities, Get, Set and Subscribe RPCs with collector capabilities.
Features#
- Full support for gNMI RPCs
Every gNMI RPC has a corresponding command with all of the RPC options configurable by means of the local and global flags. - YANG-based path suggestions
Your CLI magically becomes a YANG browser whengnmic
is executed in prompt mode. In this mode the flags that take XPATH values will get auto-suggestions based on the provided YANG modules. In other words - voodoo magic - Multi-target operations
Commands can operate on multiple gNMI targets for bulk configuration/retrieval/subscription. - File based configuration
gnmic supports configurations provided in a file. The configuration options are consistent with the CLI flags. - Multiple subscriptions
With file based configuration it is possible to define and configure multiple subscriptions which can be independently associated with gNMI targets. - Inspect gNMI messages
With thetextproto
output format and the logging capabilities ofgnmic
you can see the actual gNMI messages being sent/received. Its like having a gNMI looking glass! - Configurable TLS enforcement
gNMI client supports both TLS and non-TLS transports so you can start using it in a lab environment without having to care about the PKI. - Dial-out telemetry
The dial-out telemetry server is provided for Nokia SR OS. - Pre-built multi-platform binaries
Statically linked binaries made in our release pipeline are available for major operating systems and architectures. Making installation a breeze! - Extensive and friendly documentation
You won't be in need to dive into the source code to understand howgnimc
works, our documentation site has you covered.
Quick start guide#
Installation#
curl -sL https://github.com/karimra/gnmic/raw/master/install.sh | sudo bash
Capabilities request#
gnmic -a 10.1.0.11:57400 -u admin -p admin --insecure capabilities
Get request#
gnmic -a 10.1.0.11:57400 -u admin -p admin --insecure \
get --path /state/system/platform
Set request#
gnmic -a 10.1.0.11:57400 -u admin -p admin --insecure \
set --update-path /configure/system/name \
--update-value gnmic_demo
Subscribe request#
gnmic -a 10.1.0.11:57400 -u admin -p admin --insecure \
sub --path "/state/port[port-id=1/1/c1/1]/statistics/in-packets"