influxdb

package
v0.3.0-beta2 Latest Latest
Warning

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

Go to latest
Published: Dec 21, 2015 License: MIT Imports: 7 Imported by: 0

README

influxdb plugin

The influxdb plugin collects InfluxDB-formatted data from JSON endpoints.

With a configuration of:

[[plugins.influxdb]]
  urls = [
    "http://127.0.0.1:8086/debug/vars",
    "http://192.168.2.1:8086/debug/vars"
  ]

And if 127.0.0.1 responds with this JSON:

{
  "k1": {
    "name": "fruit",
    "tags": {
      "kind": "apple"
    },
    "values": {
      "inventory": 371,
      "sold": 112
    }
  },
  "k2": {
    "name": "fruit",
    "tags": {
      "kind": "banana"
    },
    "values": {
      "inventory": 1000,
      "sold": 403
    }
  }
}

And if 192.168.2.1 responds like so:

{
  "k3": {
    "name": "transactions",
    "tags": {},
    "values": {
      "total": 100,
      "balance": 184.75
    }
  }
}

Then the collected metrics will be:

influxdb_fruit,url='http://127.0.0.1:8086/debug/vars',kind='apple' inventory=371.0,sold=112.0
influxdb_fruit,url='http://127.0.0.1:8086/debug/vars',kind='banana' inventory=1000.0,sold=403.0

influxdb_transactions,url='http://192.168.2.1:8086/debug/vars' total=100.0,balance=184.75

There are two important details to note about the collected metrics:

  1. Even though the values in JSON are being displayed as integers, the metrics are reported as floats. JSON encoders usually don't print the fractional part for round floats. Because you cannot change the type of an existing field in InfluxDB, we assume all numbers are floats.

  2. The top-level keys' names (in the example above, "k1", "k2", and "k3") are not considered when recording the metrics.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type InfluxDB

type InfluxDB struct {
	URLs []string `toml:"urls"`
}

func (*InfluxDB) Description

func (*InfluxDB) Description() string

func (*InfluxDB) Gather

func (i *InfluxDB) Gather(acc plugins.Accumulator) error

func (*InfluxDB) SampleConfig

func (*InfluxDB) SampleConfig() string

Jump to

Keyboard shortcuts

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