gnmic supports various Inputs to consume gnmi data, transform it and ultimately export it to one or multiple Outputs.
The purpose of
gnmic's Inputs is to build a gnmi data pipeline by enabling the ingestion and export of gnmi data that was exported by
gnmic's outputs upstream.
Currently supported input types:
Defining Inputs and matching Outputs#
To define an Input a user needs to fill in the
inputs section in the configuration file.
Each Input is defined by its name (
input1 in the example below), a
type field which determines the type of input to be created (
kafka) and various other configuration fields which depend on the Input type.
Inputs names are case insensitive
All Input types have an
outputs field, under which the user can defined the downstream destination(s) of the consumed data. This way, data consumed once, can be exported multiple times.
gnmic instance can act as gNMI collector, input and output simultaneously.
# part of gnmic config file inputs: input1: type: nats # input type # # other config fields depending on the input type # outputs: - output1 - output2
Inputs use cases#
gnmic Inputs, the user can aggregate all the collected data into one instance of
gnmic that can make it available to a downstream off the shelf tool,typically Prometheus.
Collect data once and use it multiple times. By chaining multiple instances of
gnmic the user can process the same stream of data in different ways.
A different set of event processors can be applied on the data stream before being exported to its intended outputs.