InfluxDB
gnmic
supports exporting subscription updates to influxDB time series database
An influxdb output can be defined using the below format in gnmic
config file under outputs
section:
outputs:
output1:
# required
type: influxdb
# influxDB server address
url: http://localhost:8086
# empty if using influxdb1.8.x
org: myOrg
# string in the form database/retention-policy. Skip retention policy for the default on
bucket: telemetry
# influxdb 1.8.x use a string in the form: "username:password"
token:
# number of points to buffer before writing to the server
batch-size: 1000
# flush period after which the buffer is written to the server whether the batch_size is reached or not
flush-timer: 10s
# if true, the influxdb client will use gzip compression in write requests.
use-gzip: false
# if true, the influxdb client will use a secure connection to the server.
enable-tls: false
# boolean, if true the message timestamp is changed to current time
override-timestamps: false
# server health check period, used to recover from server connectivity failure
health-check-period: 30s
# enable debug
debug: false
# string, one of `overwrite`, `if-not-present`, ``
# This field allows populating/changing the value of Prefix.Target in the received message.
# if set to ``, nothing changes
# if set to `overwrite`, the target value is overwritten using the template configured under `target-template`
# if set to `if-not-present`, the target value is populated only if it is empty, still using the `target-template`
add-target:
# string, a GoTemplate that allow for the customization of the target field in Prefix.Target.
# it applies only if the previous field `add-target` is not empty.
# if left empty, it defaults to:
# {{- if index . "subscription-target" -}}
# {{ index . "subscription-target" }}
# {{- else -}}
# {{ index . "source" | host }}
# {{- end -}}`
# which will set the target to the value configured under `subscription.$subscription-name.target` if any,
# otherwise it will set it to the target name stripped of the port number (if present)
target-template:
# NOT IMPLEMENTED boolean, enables the collection and export (via prometheus) of output specific metrics
enable-metrics: false
# list of processors to apply on the message before writing
event-processors: []
# cache, if present enables the influxdb output to cache received updates and write them all together
# at `cache-flush-timer` expiry.
cache:
# duration, if > 0, enables the expiry of values written to the cache.
expiration: 0s
# debug, if true enable extra logging
debug: false
# cache-flush-timer
cache-flush-timer: 5s
gnmic
uses the event
format to generate the measurements written to influxdb