A gNMI (gRPC Network Management Interface) collector is a software component, acting as a gNMI client, that interacts with network devices (gNMI servers/targets) to subscribe to, request, and receive streaming telemetry and configuration data. [1, 2]
It is designed to handle high-velocity network data, acting as a central node in modern, model-driven, and open-source observability stacks (e.g., used with OpenConfig, Prometheus, or InfluxDB)
.
Core Functions of a gNMI Collector
- Subscribes to Data: Uses the gNMI RPC to request real-time updates for operational state or configuration data from network devices (e.g., switches, routers).
- Maintains Connectivity: Establishes and maintains persistent gRPC sessions (often over TLS) with multiple devices simultaneously.
- Data Transformation: Often includes capabilities to parse, normalize, and manipulate raw telemetry data (e.g., changing JSON formats or converting data types) before sending it to a database.
- Output Routing: Forwards the collected data to various destinations, such as time-series databases (InfluxDB), streaming platforms (Kafka), or monitoring systems (Prometheus).
- Manages Subscription Modes: Supports various telemetry collection modes:
A prominent example is gNMIc, an open-source tool that functions as a feature-rich CLI client and collector.
- Ingest: It connects to network devices to subscribe to YANG-modeled telemetry.
- Process: It transforms the data into a usable format.
- Export: It pushes the data to Time Series Databases (TSDB) like InfluxDB or Prometheus for visualization in Grafana. [7, 8, 10, 13, 14]
Key Benefits
- Real-time Visibility: Provides near-instant updates on network state changes.
- Vendor Agnostic: Works with any device that supports the OpenConfig gNMI specification.
- High Performance: Uses gRPC/HTTP/2 and Protobuf for efficient, low-latency transmission. [1, 3, 4, 15, 16]
Examples of gNMI collectors include gNMIc, Telegraf (with the gNMI plugin), and Pipeline (Cisco's collector). [7, 17, 18]
No comments:
Post a Comment