telegraf/plugins/inputs/exec
Cameron Sparr 9c0d14bb60 Create public models for telegraf metrics, accumlator, plugins
This will basically make the root directory a place for storing the
major telegraf interfaces, which will make telegraf's godoc looks quite
a bit nicer. And make it easier for contributors to lookup the few data
types that they actually care about.

closes #564
2016-01-27 15:42:50 -07:00
..
README.md Update README.md 2016-01-15 14:49:53 -08:00
exec.go Create public models for telegraf metrics, accumlator, plugins 2016-01-27 15:42:50 -07:00
exec_test.go Fix issue 524 2016-01-20 10:57:35 -08:00

README.md

Exec Plugin

The exec plugin can execute arbitrary commands which output JSON. Then it flattens JSON and finds all numeric values, treating them as floats.

For example, if you have a json-returning command called mycollector, you could setup the exec plugin with:

[[inputs.exec]]
  command = "/usr/bin/mycollector --output=json"
  name_suffix = "_mycollector"
  interval = "10s"

The name suffix is appended to exec as "exec_name_suffix" to identify the input stream.

The interval is used to determine how often a particular command should be run. Each time the exec plugin runs, it will only run a particular command if it has been at least interval seconds since the exec plugin last ran the command.

Sample

Let's say that we have a command with the name_suffix "_mycollector", which gives the following output:

{
    "a": 0.5,
    "b": {
        "c": 0.1,
        "d": 5
    }
}

The collected metrics will be stored as field values under the same measurement "exec_mycollector":

 exec_mycollector a=0.5,b_c=0.1,b_d=5 1452815002357578567

Other options for modifying the measurement names are:

name_override = "newname"
name_prefix = "prefix_"