telegrafsnmp

package
v4.0.2+incompatible Latest Latest
Warning

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

Go to latest
Published: Feb 22, 2019 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	config.MonitorConfig `acceptsEndpoints:"true"`
	// Host and port will be concatenated and appended to the list of SNMP agents to connect to.
	Host string `yaml:"host"`
	// Port and Host will be concatenated and appended to the list of SNMP agents to connect to.
	Port uint16 `yaml:"port"`
	// SNMP agent address and ports to query for information.  An example address is `0.0.0.0:5555`
	// If an address is supplied with out a port, the default port `161` will be used.
	Agents []string `yaml:"agents"`
	// The number of times to retry.
	Retries int `yaml:"retries"`
	// The SNMP protocol version to use (ie: `1`, `2`, `3`).
	Version uint8
	// The SNMP community to use.
	Community string `yaml:"community" default:"public"`
	// Maximum number of iterations for reqpeating variables
	MaxRepetitions uint8 `yaml:"maxRepetitions" default:"50"`
	// SNMP v3 context name to use with requests
	ContextName string `yaml:"contextName"`
	// Security level to use for SNMP v3 messages: `noAuthNoPriv` `authNoPriv`, `authPriv`.
	SecLevel string `yaml:"secLevel" default:"noAuthNoPriv"`
	// Name to used to authenticate with SNMP v3 requests.
	SecName string `yaml:"secName"`
	// Protocol to used to authenticate SNMP v3 requests: `"MD5"`, `"SHA"`, and `""` (default).
	AuthProtocol string `yaml:"authProtocol" default:""`
	// Password used to authenticate SNMP v3 requests.
	AuthPassword string `yaml:"authPassword" default:"" neverLog:"true"`
	// Protocol used for encrypted SNMP v3 messages: `DES`, `AES`, `""` (default).
	PrivProtocol string `yaml:"privProtocol" default:""`
	// Password used to encrypt SNMP v3 messages.
	PrivPassword string `yaml:"privPassword"`
	// The SNMP v3 engine ID.
	EngineID string `yaml:"engineID"`
	// The SNMP v3 engine boots.
	EngineBoots uint32 `yaml:"engineBoots"`
	// The SNMP v3 engine time.
	EngineTime uint32 `yaml:"engineTime"`
	// The top-level measurement name
	Name string `yaml:"name"`
	// The top-level SNMP fields
	Fields []Field `yaml:"fields"`
	// SNMP Tables
	Tables []Table `yaml:"tables"`
}

Config for this monitor

type Field

type Field struct {
	// Name of the field.  The OID will be used if no value is supplied.
	Name string `yaml:"name"`
	// The OID to fetch.
	Oid string `yaml:"oid"`
	// The sub-identifier to strip off when matching indexes to other fields.
	OidIndexSuffix string `yaml:"oidIndexSuffix"`
	// The index length after the table OID.  The index will be truncated after
	// this length in order to remove length index suffixes or non-fixed values.
	OidIndexLength int `yaml:"oidIndexLength"`
	// Whether to output the field as a tag.
	IsTag bool `yaml:"isTag"`
	// Controls the type conversion applied to the value: `"float(X)"`, `"float"`,
	// `"int"`, `"hwaddr"`, `"ipaddr"` or `""` (default).
	Conversion string `yaml:"conversion"`
}

Field represents an SNMP field

type Monitor

type Monitor struct {
	Output types.Output
	// contains filtered or unexported fields
}

Monitor for Utilization

func (*Monitor) Configure

func (m *Monitor) Configure(conf *Config) (err error)

Configure the monitor and kick off metric syncing

func (*Monitor) Shutdown

func (m *Monitor) Shutdown()

Shutdown stops the metric sync

type Table

type Table struct {
	// Metric name.  If not supplied the OID will be used.
	Name string `yaml:"name"`
	// Top level tags to inherit.
	InheritTags []string `yaml:"inheritTags"`
	// Add a tag for the table index for each row.
	IndexAsTag bool `yaml:"indexAsTag"`
	// Specifies the ags and values to look up.
	Fields []Field `yaml:"field"`
	// The OID to fetch.
	Oid string `yaml:"oid"`
}

Table represents an SNMP table

Jump to

Keyboard shortcuts

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