collectd

package
v0.0.0-...-5864974 Latest Latest
Warning

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

Go to latest
Published: Aug 9, 2019 License: MIT Imports: 8 Imported by: 0

README

Collectd

The collectd format parses the collectd binary network protocol. Tags are created for host, instance, type, and type instance. All collectd values are added as float64 fields.

For more information about the binary network protocol see here.

You can control the cryptographic settings with parser options. Create an authentication file and set collectd_auth_file to the path of the file, then set the desired security level in collectd_security_level.

Additional information including client setup can be found here.

You can also change the path to the typesdb or add additional typesdb using collectd_typesdb.

Configuration
[[inputs.file]]
  files = ["example"]

  ## Data format to consume.
  ## Each data format has its own unique set of configuration options, read
  ## more about them here:
  ##   https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_INPUT.md
  data_format = "collectd"

  ## Authentication file for cryptographic security levels
  collectd_auth_file = "/etc/collectd/auth_file"
  ## One of none (default), sign, or encrypt
  collectd_security_level = "encrypt"
  ## Path of to TypesDB specifications
  collectd_typesdb = ["/usr/share/collectd/types.db"]

  ## Multi-value plugins can be handled two ways.
  ## "split" will parse and store the multi-value plugin data into separate measurements
  ## "join" will parse and store the multi-value plugin as a single multi-value measurement.
  ## "split" is the default behavior for backward compatability with previous versions of influxdb.
  collectd_parse_multivalue = "split"

Documentation

Index

Constants

View Source
const (
	DefaultAuthFile = "/etc/collectd/auth_file"
)

Variables

This section is empty.

Functions

func LoadTypesDB

func LoadTypesDB(path string) (*api.TypesDB, error)

func UnmarshalValueList

func UnmarshalValueList(vl *api.ValueList, multiValue string) []telegraf.Metric

UnmarshalValueList translates a ValueList into a Telegraf metric.

Types

type CollectdParser

type CollectdParser struct {
	// DefaultTags will be added to every parsed metric
	DefaultTags map[string]string

	//whether or not to split multi value metric into multiple metrics
	//default value is split
	ParseMultiValue string
	// contains filtered or unexported fields
}

func NewCollectdParser

func NewCollectdParser(
	authFile string,
	securityLevel string,
	typesDB []string,
	split string,
) (*CollectdParser, error)

func (*CollectdParser) Parse

func (p *CollectdParser) Parse(buf []byte) ([]telegraf.Metric, error)

func (*CollectdParser) ParseLine

func (p *CollectdParser) ParseLine(line string) (telegraf.Metric, error)

func (*CollectdParser) SetDefaultTags

func (p *CollectdParser) SetDefaultTags(tags map[string]string)

func (*CollectdParser) SetParseOpts

func (p *CollectdParser) SetParseOpts(popts *network.ParseOpts)

Jump to

Keyboard shortcuts

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