jti_openconfig_telemetry

package
v1.21.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 5, 2022 License: MIT Imports: 18 Imported by: 4

README

JTI OpenConfig Telemetry Input Plugin

This plugin reads Juniper Networks implementation of OpenConfig telemetry data from listed sensors using Junos Telemetry Interface. Refer to openconfig.net for more details about OpenConfig and Junos Telemetry Interface (JTI).

Configuration

# 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",
  ]

  ## Optional TLS Config
  # enable_tls = true
  # tls_ca = "/etc/telegraf/ca.pem"
  # tls_cert = "/etc/telegraf/cert.pem"
  # tls_key = "/etc/telegraf/key.pem"
  ## Use TLS but skip chain & host verification
  # insecure_skip_verify = false

  ## 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"

  ## To treat all string values as tags, set this to true
  str_as_tags = false

Tags

  • All measurements are tagged appropriately using the identifier information in incoming data

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CollectionByKeys

type CollectionByKeys []DataGroup

Sort the data groups by number of keys

func (CollectionByKeys) Insert

func (a CollectionByKeys) Insert(tags map[string]string, data map[string]interface{}) CollectionByKeys

Inserts into already existing group or creates a new group

func (CollectionByKeys) IsAvailable

func (a CollectionByKeys) IsAvailable(tags map[string]string) *DataGroup

Checks to see if there is already a group with these tags and returns its index. Returns -1 if unavailable.

func (CollectionByKeys) Len

func (a CollectionByKeys) Len() int

func (CollectionByKeys) Less

func (a CollectionByKeys) Less(i, j int) bool

func (CollectionByKeys) Swap

func (a CollectionByKeys) Swap(i, j int)

type DataGroup

type DataGroup struct {
	// contains filtered or unexported fields
}

type OpenConfigTelemetry

type OpenConfigTelemetry struct {
	Servers         []string        `toml:"servers"`
	Sensors         []string        `toml:"sensors"`
	Username        string          `toml:"username"`
	Password        string          `toml:"password"`
	ClientID        string          `toml:"client_id"`
	SampleFrequency config.Duration `toml:"sample_frequency"`
	StrAsTags       bool            `toml:"str_as_tags"`
	RetryDelay      config.Duration `toml:"retry_delay"`
	EnableTLS       bool            `toml:"enable_tls"`
	internaltls.ClientConfig

	Log telegraf.Logger
	// contains filtered or unexported fields
}

func (*OpenConfigTelemetry) Description

func (m *OpenConfigTelemetry) Description() string

func (*OpenConfigTelemetry) Gather

func (*OpenConfigTelemetry) SampleConfig

func (m *OpenConfigTelemetry) SampleConfig() string

func (*OpenConfigTelemetry) Start

func (*OpenConfigTelemetry) Stop

func (m *OpenConfigTelemetry) Stop()

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL