2018-05-12 08:58:19 +08:00
|
|
|
# JTI OpenConfig Telemetry Input Plugin
|
|
|
|
|
|
2022-06-08 05:37:08 +08:00
|
|
|
This plugin reads Juniper Networks implementation of OpenConfig telemetry data
|
|
|
|
|
from listed sensors using Junos Telemetry Interface. Refer to
|
|
|
|
|
[openconfig.net](http://openconfig.net/) for more details about OpenConfig and
|
|
|
|
|
[Junos Telemetry Interface (JTI)][1].
|
|
|
|
|
|
|
|
|
|
[1]: https://www.juniper.net/documentation/en_US/junos/topics/concept/junos-telemetry-interface-oveview.html
|
2018-05-12 08:58:19 +08:00
|
|
|
|
2023-03-27 20:12:35 +08:00
|
|
|
## Service Input <!-- @/docs/includes/service_input.md -->
|
|
|
|
|
|
|
|
|
|
This plugin is a service input. Normal plugins gather metrics determined by the
|
|
|
|
|
interval setting. Service plugins start a service to listens and waits for
|
|
|
|
|
metrics or events to occur. Service plugins have two key differences from
|
|
|
|
|
normal plugins:
|
|
|
|
|
|
|
|
|
|
1. The global or plugin specific `interval` setting may not apply
|
|
|
|
|
2. The CLI options of `--test`, `--test-wait`, and `--once` may not produce
|
|
|
|
|
output for this plugin
|
|
|
|
|
|
2022-10-27 03:58:36 +08:00
|
|
|
## Global configuration options <!-- @/docs/includes/plugin_config.md -->
|
|
|
|
|
|
|
|
|
|
In addition to the plugin-specific configuration settings, plugins support
|
|
|
|
|
additional global and plugin configuration settings. These settings are used to
|
|
|
|
|
modify metrics, tags, and field or create aliases and configure ordering, etc.
|
|
|
|
|
See the [CONFIGURATION.md][CONFIGURATION.md] for more details.
|
|
|
|
|
|
2023-01-12 23:55:21 +08:00
|
|
|
[CONFIGURATION.md]: ../../../docs/CONFIGURATION.md#plugins
|
2022-10-27 03:58:36 +08:00
|
|
|
|
2021-11-25 03:18:53 +08:00
|
|
|
## Configuration
|
2018-05-12 08:58:19 +08:00
|
|
|
|
2022-05-24 21:49:47 +08:00
|
|
|
```toml @sample.conf
|
2018-05-12 08:58:19 +08:00
|
|
|
# Subscribe and receive OpenConfig Telemetry data using JTI
|
|
|
|
|
[[inputs.jti_openconfig_telemetry]]
|
|
|
|
|
## List of device addresses to collect telemetry from
|
|
|
|
|
servers = ["localhost:1883"]
|
|
|
|
|
|
|
|
|
|
## Authentication details. Username and password are must if device expects
|
|
|
|
|
## authentication. Client ID must be unique when connecting from multiple instances
|
|
|
|
|
## of telegraf to the same device
|
|
|
|
|
username = "user"
|
|
|
|
|
password = "pass"
|
|
|
|
|
client_id = "telegraf"
|
|
|
|
|
|
|
|
|
|
## Frequency to get data
|
|
|
|
|
sample_frequency = "1000ms"
|
|
|
|
|
|
|
|
|
|
## Sensors to subscribe for
|
|
|
|
|
## A identifier for each sensor can be provided in path by separating with space
|
|
|
|
|
## Else sensor path will be used as identifier
|
|
|
|
|
## When identifier is used, we can provide a list of space separated sensors.
|
|
|
|
|
## A single subscription will be created with all these sensors and data will
|
|
|
|
|
## be saved to measurement with this identifier name
|
|
|
|
|
sensors = [
|
|
|
|
|
"/interfaces/",
|
|
|
|
|
"collection /components/ /lldp",
|
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
## We allow specifying sensor group level reporting rate. To do this, specify the
|
|
|
|
|
## reporting rate in Duration at the beginning of sensor paths / collection
|
|
|
|
|
## name. For entries without reporting rate, we use configured sample frequency
|
|
|
|
|
sensors = [
|
|
|
|
|
"1000ms customReporting /interfaces /lldp",
|
|
|
|
|
"2000ms collection /components",
|
|
|
|
|
"/interfaces",
|
|
|
|
|
]
|
|
|
|
|
|
2023-02-28 01:39:25 +08:00
|
|
|
## Timestamp Source
|
|
|
|
|
## Set to 'collection' for time of collection, and 'data' for using the time
|
|
|
|
|
## provided by the _timestamp field.
|
|
|
|
|
# timestamp_source = "collection"
|
|
|
|
|
|
2019-06-22 03:25:45 +08:00
|
|
|
## Optional TLS Config
|
2022-10-05 16:07:28 +08:00
|
|
|
# enable_tls = false
|
2019-06-22 03:25:45 +08:00
|
|
|
# tls_ca = "/etc/telegraf/ca.pem"
|
|
|
|
|
# tls_cert = "/etc/telegraf/cert.pem"
|
|
|
|
|
# tls_key = "/etc/telegraf/key.pem"
|
2022-08-09 19:36:47 +08:00
|
|
|
## Minimal TLS version to accept by the client
|
|
|
|
|
# tls_min_version = "TLS12"
|
2019-06-22 03:25:45 +08:00
|
|
|
## Use TLS but skip chain & host verification
|
|
|
|
|
# insecure_skip_verify = false
|
2018-05-12 08:58:19 +08:00
|
|
|
|
|
|
|
|
## Delay between retry attempts of failed RPC calls or streams. Defaults to 1000ms.
|
|
|
|
|
## Failed streams/calls will not be retried if 0 is provided
|
|
|
|
|
retry_delay = "1000ms"
|
|
|
|
|
|
2023-08-08 04:41:24 +08:00
|
|
|
## Period for sending keep-alive packets on idle connections
|
|
|
|
|
## This is helpful to identify broken connections to the server
|
|
|
|
|
# keep_alive_period = "10s"
|
|
|
|
|
|
2018-05-12 08:58:19 +08:00
|
|
|
## To treat all string values as tags, set this to true
|
|
|
|
|
str_as_tags = false
|
|
|
|
|
```
|
|
|
|
|
|
2021-11-25 03:18:53 +08:00
|
|
|
## Tags
|
2018-05-12 08:58:19 +08:00
|
|
|
|
|
|
|
|
- All measurements are tagged appropriately using the identifier information
|
|
|
|
|
in incoming data
|
2022-08-09 19:36:47 +08:00
|
|
|
|
|
|
|
|
## Example Output
|
|
|
|
|
|
|
|
|
|
## Metrics
|