Skip to content


Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

github release Github all releases Go Report Doc build

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.

Documentation available at


  • 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.
  • Flexible collector deployment
    gnmic can be deployed as a gNMI collector that supports multiple output types (NATS, Kafka, Prometheus, InfluxDB,...).
    The collector can be deployed either as a single instance, as part of a cluster, or used to form data pipelines.
  • Support gRPC tunnel based dialout telemetry
    gnmic can be deployed as a gNMI collector with an embedded tunnel server.
  • gNMI data manipulation
    gnmic collector has data transformation capabilities that can be used to adapt the collected data to your specific use case.
  • Dynamic targets loading
    gnmic support target loading at runtime based on input from external systems.
  • YANG-based path suggestions
    Your CLI magically becomes a YANG browser when gnmic 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.
  • Multiple configuration sources
    gnmic supports flags, environment variables as well as file based configurations.
  • Inspect raw gNMI messages
    With the prototext output format you can see the actual gNMI messages being sent/received. Its like having a gNMI looking glass!
  • (In)secure gRPC connection
    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


bash -c "$(curl -sL"

Capabilities request

gnmic -a -u admin -p admin --insecure capabilities

Get request

gnmic -a -u admin -p admin --insecure \
      get --path /state/system/platform

Set request

gnmic -a -u admin -p admin --insecure \
      set --update-path /configure/system/name \
          --update-value gnmic_demo

Subscribe request

gnmic -a -u admin -p admin --insecure \
      sub --path "/state/port[port-id=1/1/c1/1]/statistics/in-packets"

Prompt mode

The prompt mode is an interactive mode of the gnmic CLI client for user convenience.

# clone repository with YANG models (Openconfig example)
git clone
cd public

# Start gnmic in prompt mode and read in all the modules:

gnmic --file release/models \
      --dir third_party \
      --exclude ietf-interfaces \