Skip to content

Home

headline

github release Github all releases


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.
  • 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 the textproto output format and the logging capabilities of gnmic 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 how gnimc 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"