wavefront

package
v0.0.0-...-3667945 Latest Latest
Warning

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

Go to latest
Published: Aug 26, 2019 License: MIT Imports: 10 Imported by: 0

README

Wavefront Output Plugin

This plugin writes to a Wavefront proxy, in Wavefront data format over TCP.

Configuration:
# Configuration for Wavefront output 
[[outputs.wavefront]]
  ## DNS name of the wavefront proxy server
  host = "wavefront.example.com"

  ## Port that the Wavefront proxy server listens on
  port = 2878

  ## prefix for metrics keys
  #prefix = "my.specific.prefix."

  ## wether to use "value" for name of simple fields. default is false
  #simple_fields = false

  ## character to use between metric and field name. default is . (dot)
  #metric_separator = "."

  ## Convert metric name paths to use metricSeperator character
  ## When true will convert all _ (underscore) chartacters in final metric name. default is true
  #convert_paths = true

  ## Use Regex to sanitize metric and tag names from invalid characters
  ## Regex is more thorough, but significantly slower. default is false
  #use_regex = false

  ## point tags to use as the source name for Wavefront (if none found, host will be used)
  #source_override = ["hostname", "snmp_host", "node_host"]

  ## whether to convert boolean values to numeric values, with false -> 0.0 and true -> 1.0. default is true
  #convert_bool = true

  ## Define a mapping, namespaced by metric prefix, from string values to numeric values
  ## The example below maps "green" -> 1.0, "yellow" -> 0.5, "red" -> 0.0 for
  ## any metrics beginning with "elasticsearch"
  #[[outputs.wavefront.string_to_number.elasticsearch]]
  #  green = 1.0
  #  yellow = 0.5
  #  red = 0.0
Convert Path & Metric Separator

If the convert_path option is true any _ in metric and field names will be converted to the metric_separator value. By default, to ease metrics browsing in the Wavefront UI, the convert_path option is true, and metric_separator is . (dot). Default integrations within Wavefront expect these values to be set to their defaults, however if converting from another platform it may be desirable to change these defaults.

Use Regex

Most illegal characters in the metric name are automatically converted to -.
The use_regex setting can be used to ensure all illegal characters are properly handled, but can lead to performance degradation.

Source Override

Often when collecting metrics from another system, you want to use the target system as the source, not the one running Telegraf. Many Telegraf plugins will identify the target source with a tag. The tag name can vary for different plugins. The source_override option will use the value specified in any of the listed tags if found. The tag names are checked in the same order as listed, and if found, the other tags will not be checked. If no tags specified are found, the default host tag will be used to identify the source of the metric.

Wavefront Data format

The expected input for Wavefront is specified in the following way:

<metric> <value> [<timestamp>] <source|host>=<soureTagValue> [tagk1=tagv1 ...tagkN=tagvN]

More information about the Wavefront data format is available here

Allowed values for metrics

Wavefront allows integers and floats as input values. It will ignore most strings, but when configured will map certain strings to numeric values. By default it also maps bool values to numeric, false -> 0.0, true -> 1.0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type MetricPoint

type MetricPoint struct {
	Metric    string
	Value     float64
	Timestamp int64
	Source    string
	Tags      map[string]string
}

type Wavefront

type Wavefront struct {
	Prefix          string
	Host            string
	Port            int
	SimpleFields    bool
	MetricSeparator string
	ConvertPaths    bool
	ConvertBool     bool
	UseRegex        bool
	SourceOverride  []string
	StringToNumber  map[string][]map[string]float64
}

func (*Wavefront) Close

func (w *Wavefront) Close() error

func (*Wavefront) Connect

func (w *Wavefront) Connect() error

func (*Wavefront) Description

func (w *Wavefront) Description() string

func (*Wavefront) SampleConfig

func (w *Wavefront) SampleConfig() string

func (*Wavefront) Write

func (w *Wavefront) Write(metrics []telegraf.Metric) error

Jump to

Keyboard shortcuts

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