Skip to content

Commit 1c77157

Browse files
committed
Documentation improvements
- fully document aggregator and processor plugins - improve readme.md closes influxdata#1989
1 parent 5d3850c commit 1c77157

File tree

4 files changed

+237
-115
lines changed

4 files changed

+237
-115
lines changed

README.md

+122-115
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,23 @@
11
# Telegraf [![Circle CI](https://circleci.com/gh/influxdata/telegraf.svg?style=svg)](https://circleci.com/gh/influxdata/telegraf) [![Docker pulls](https://img.shields.io/docker/pulls/library/telegraf.svg)](https://hub.docker.com/_/telegraf/)
22

3-
Telegraf is an agent written in Go for collecting metrics from the system it's
4-
running on, or from other services, and writing them into InfluxDB or other
5-
[outputs](https://github.com/influxdata/telegraf#supported-output-plugins).
3+
Telegraf is an agent written in Go for collecting, processing, aggregating,
4+
and writing metrics.
65

76
Design goals are to have a minimal memory footprint with a plugin system so
87
that developers in the community can easily add support for collecting metrics
98
from well known services (like Hadoop, Postgres, or Redis) and third party
109
APIs (like Mailchimp, AWS CloudWatch, or Google Analytics).
1110

12-
New input and output plugins are designed to be easy to contribute,
11+
Telegraf is plugin-driven and has the concept of 4 distinct plugins:
12+
13+
1. [Input Plugins](#input-plugins) collect metrics from the system, services, or 3rd party APIs
14+
2. [Processor Plugins](#processor-plugins) transform, decorate, and/or filter metrics
15+
3. [Aggregator Plugins](#aggregator-plugins) create aggregate metrics (e.g. mean, min, max, quantiles, etc.)
16+
4. [Output Plugins](#output-plugins) write metrics to various destinations
17+
18+
For more information on Processor and Aggregator plugins please [read this](./docs/AGGREGATORS_AND_PROCESSORS.md).
19+
20+
New plugins are designed to be easy to contribute,
1321
we'll eagerly accept pull
1422
requests and will manage the set of plugins that Telegraf supports.
1523
See the [contributing guide](CONTRIBUTING.md) for instructions on writing
@@ -39,7 +47,7 @@ controlled via `systemctl [action] telegraf`
3947
### yum/apt Repositories:
4048

4149
There is a yum/apt repo available for the whole InfluxData stack, see
42-
[here](https://docs.influxdata.com/influxdb/v0.10/introduction/installation/#installation)
50+
[here](https://docs.influxdata.com/influxdb/latest/introduction/installation/#installation)
4351
for instructions on setting up the repo. Once it is configured, you will be able
4452
to use this repo to install & update telegraf.
4553

@@ -127,77 +135,71 @@ telegraf --config telegraf.conf -input-filter cpu:mem -output-filter influxdb
127135
See the [configuration guide](docs/CONFIGURATION.md) for a rundown of the more advanced
128136
configuration options.
129137

130-
## Supported Input Plugins
131-
132-
Telegraf currently has support for collecting metrics from many sources. For
133-
more information on each, please look at the directory of the same name in
134-
`plugins/inputs`.
135-
136-
Currently implemented sources:
137-
138-
* [aws cloudwatch](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/cloudwatch)
139-
* [aerospike](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/aerospike)
140-
* [apache](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/apache)
141-
* [bcache](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/bcache)
142-
* [cassandra](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/cassandra)
143-
* [ceph](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/ceph)
144-
* [chrony](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/chrony)
145-
* [consul](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/consul)
146-
* [conntrack](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/conntrack)
147-
* [couchbase](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/couchbase)
148-
* [couchdb](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/couchdb)
149-
* [disque](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/disque)
150-
* [dns query time](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/dns_query)
151-
* [docker](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/docker)
152-
* [dovecot](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/dovecot)
153-
* [elasticsearch](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/elasticsearch)
154-
* [exec](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/exec) (generic executable plugin, support JSON, influx, graphite and nagios)
155-
* [filestat](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/filestat)
156-
* [haproxy](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/haproxy)
157-
* [hddtemp](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/hddtemp)
158-
* [http_response](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/http_response)
159-
* [httpjson](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/httpjson) (generic JSON-emitting http service plugin)
160-
* [influxdb](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/influxdb)
161-
* [ipmi_sensor](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/ipmi_sensor)
162-
* [iptables](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/iptables)
163-
* [jolokia](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/jolokia)
164-
* [leofs](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/leofs)
165-
* [lustre2](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/lustre2)
166-
* [mailchimp](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/mailchimp)
167-
* [memcached](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/memcached)
168-
* [mesos](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/mesos)
169-
* [mongodb](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/mongodb)
170-
* [mysql](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/mysql)
171-
* [net_response](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/net_response)
172-
* [nginx](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/nginx)
173-
* [nsq](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/nsq)
174-
* [nstat](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/nstat)
175-
* [ntpq](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/ntpq)
176-
* [phpfpm](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/phpfpm)
177-
* [phusion passenger](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/passenger)
178-
* [ping](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/ping)
179-
* [postgresql](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/postgresql)
180-
* [postgresql_extensible](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/postgresql_extensible)
181-
* [powerdns](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/powerdns)
182-
* [procstat](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/procstat)
183-
* [prometheus](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/prometheus)
184-
* [puppetagent](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/puppetagent)
185-
* [rabbitmq](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/rabbitmq)
186-
* [raindrops](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/raindrops)
187-
* [redis](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/redis)
188-
* [rethinkdb](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/rethinkdb)
189-
* [riak](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/riak)
190-
* [sensors](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/sensors)
191-
* [snmp](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/snmp)
192-
* [snmp_legacy](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/snmp_legacy)
193-
* [sql server](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/sqlserver) (microsoft)
194-
* [twemproxy](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/twemproxy)
195-
* [varnish](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/varnish)
196-
* [zfs](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/zfs)
197-
* [zookeeper](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/zookeeper)
198-
* [win_perf_counters ](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/win_perf_counters) (windows performance counters)
199-
* [sysstat](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/sysstat)
200-
* [system](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/system)
138+
## Input Plugins
139+
140+
* [aws cloudwatch](./plugins/inputs/cloudwatch)
141+
* [aerospike](./plugins/inputs/aerospike)
142+
* [apache](./plugins/inputs/apache)
143+
* [bcache](./plugins/inputs/bcache)
144+
* [cassandra](./plugins/inputs/cassandra)
145+
* [ceph](./plugins/inputs/ceph)
146+
* [chrony](./plugins/inputs/chrony)
147+
* [consul](./plugins/inputs/consul)
148+
* [conntrack](./plugins/inputs/conntrack)
149+
* [couchbase](./plugins/inputs/couchbase)
150+
* [couchdb](./plugins/inputs/couchdb)
151+
* [disque](./plugins/inputs/disque)
152+
* [dns query time](./plugins/inputs/dns_query)
153+
* [docker](./plugins/inputs/docker)
154+
* [dovecot](./plugins/inputs/dovecot)
155+
* [elasticsearch](./plugins/inputs/elasticsearch)
156+
* [exec](./plugins/inputs/exec) (generic executable plugin, support JSON, influx, graphite and nagios)
157+
* [filestat](./plugins/inputs/filestat)
158+
* [haproxy](./plugins/inputs/haproxy)
159+
* [hddtemp](./plugins/inputs/hddtemp)
160+
* [http_response](./plugins/inputs/http_response)
161+
* [httpjson](./plugins/inputs/httpjson) (generic JSON-emitting http service plugin)
162+
* [influxdb](./plugins/inputs/influxdb)
163+
* [ipmi_sensor](./plugins/inputs/ipmi_sensor)
164+
* [iptables](./plugins/inputs/iptables)
165+
* [jolokia](./plugins/inputs/jolokia)
166+
* [leofs](./plugins/inputs/leofs)
167+
* [lustre2](./plugins/inputs/lustre2)
168+
* [mailchimp](./plugins/inputs/mailchimp)
169+
* [memcached](./plugins/inputs/memcached)
170+
* [mesos](./plugins/inputs/mesos)
171+
* [mongodb](./plugins/inputs/mongodb)
172+
* [mysql](./plugins/inputs/mysql)
173+
* [net_response](./plugins/inputs/net_response)
174+
* [nginx](./plugins/inputs/nginx)
175+
* [nsq](./plugins/inputs/nsq)
176+
* [nstat](./plugins/inputs/nstat)
177+
* [ntpq](./plugins/inputs/ntpq)
178+
* [phpfpm](./plugins/inputs/phpfpm)
179+
* [phusion passenger](./plugins/inputs/passenger)
180+
* [ping](./plugins/inputs/ping)
181+
* [postgresql](./plugins/inputs/postgresql)
182+
* [postgresql_extensible](./plugins/inputs/postgresql_extensible)
183+
* [powerdns](./plugins/inputs/powerdns)
184+
* [procstat](./plugins/inputs/procstat)
185+
* [prometheus](./plugins/inputs/prometheus)
186+
* [puppetagent](./plugins/inputs/puppetagent)
187+
* [rabbitmq](./plugins/inputs/rabbitmq)
188+
* [raindrops](./plugins/inputs/raindrops)
189+
* [redis](./plugins/inputs/redis)
190+
* [rethinkdb](./plugins/inputs/rethinkdb)
191+
* [riak](./plugins/inputs/riak)
192+
* [sensors](./plugins/inputs/sensors)
193+
* [snmp](./plugins/inputs/snmp)
194+
* [snmp_legacy](./plugins/inputs/snmp_legacy)
195+
* [sql server](./plugins/inputs/sqlserver) (microsoft)
196+
* [twemproxy](./plugins/inputs/twemproxy)
197+
* [varnish](./plugins/inputs/varnish)
198+
* [zfs](./plugins/inputs/zfs)
199+
* [zookeeper](./plugins/inputs/zookeeper)
200+
* [win_perf_counters ](./plugins/inputs/win_perf_counters) (windows performance counters)
201+
* [sysstat](./plugins/inputs/sysstat)
202+
* [system](./plugins/inputs/system)
201203
* cpu
202204
* mem
203205
* net
@@ -211,45 +213,50 @@ Currently implemented sources:
211213

212214
Telegraf can also collect metrics via the following service plugins:
213215

214-
* [http_listener](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/http_listener)
215-
* [kafka_consumer](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/kafka_consumer)
216-
* [mqtt_consumer](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/mqtt_consumer)
217-
* [nats_consumer](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/nats_consumer)
218-
* [nsq_consumer](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/nsq_consumer)
219-
* [logparser](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/logparser)
220-
* [statsd](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/statsd)
221-
* [tail](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/tail)
222-
* [tcp_listener](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/tcp_listener)
223-
* [udp_listener](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/udp_listener)
224-
* [webhooks](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/webhooks)
225-
* [filestack](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/webhooks/filestack)
226-
* [github](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/webhooks/github)
227-
* [mandrill](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/webhooks/mandrill)
228-
* [rollbar](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/webhooks/rollbar)
229-
230-
We'll be adding support for many more over the coming months. Read on if you
231-
want to add support for another service or third-party API.
232-
233-
## Supported Output Plugins
234-
235-
* [influxdb](https://github.com/influxdata/telegraf/tree/master/plugins/outputs/influxdb)
236-
* [amon](https://github.com/influxdata/telegraf/tree/master/plugins/outputs/amon)
237-
* [amqp](https://github.com/influxdata/telegraf/tree/master/plugins/outputs/amqp)
238-
* [aws kinesis](https://github.com/influxdata/telegraf/tree/master/plugins/outputs/kinesis)
239-
* [aws cloudwatch](https://github.com/influxdata/telegraf/tree/master/plugins/outputs/cloudwatch)
240-
* [datadog](https://github.com/influxdata/telegraf/tree/master/plugins/outputs/datadog)
241-
* [file](https://github.com/influxdata/telegraf/tree/master/plugins/outputs/file)
242-
* [graphite](https://github.com/influxdata/telegraf/tree/master/plugins/outputs/graphite)
243-
* [graylog](https://github.com/influxdata/telegraf/tree/master/plugins/outputs/graylog)
244-
* [instrumental](https://github.com/influxdata/telegraf/tree/master/plugins/outputs/instrumental)
245-
* [kafka](https://github.com/influxdata/telegraf/tree/master/plugins/outputs/kafka)
246-
* [librato](https://github.com/influxdata/telegraf/tree/master/plugins/outputs/librato)
247-
* [mqtt](https://github.com/influxdata/telegraf/tree/master/plugins/outputs/mqtt)
248-
* [nats](https://github.com/influxdata/telegraf/tree/master/plugins/outputs/nats)
249-
* [nsq](https://github.com/influxdata/telegraf/tree/master/plugins/outputs/nsq)
250-
* [opentsdb](https://github.com/influxdata/telegraf/tree/master/plugins/outputs/opentsdb)
251-
* [prometheus](https://github.com/influxdata/telegraf/tree/master/plugins/outputs/prometheus_client)
252-
* [riemann](https://github.com/influxdata/telegraf/tree/master/plugins/outputs/riemann)
216+
* [http_listener](./plugins/inputs/http_listener)
217+
* [kafka_consumer](./plugins/inputs/kafka_consumer)
218+
* [mqtt_consumer](./plugins/inputs/mqtt_consumer)
219+
* [nats_consumer](./plugins/inputs/nats_consumer)
220+
* [nsq_consumer](./plugins/inputs/nsq_consumer)
221+
* [logparser](./plugins/inputs/logparser)
222+
* [statsd](./plugins/inputs/statsd)
223+
* [tail](./plugins/inputs/tail)
224+
* [tcp_listener](./plugins/inputs/tcp_listener)
225+
* [udp_listener](./plugins/inputs/udp_listener)
226+
* [webhooks](./plugins/inputs/webhooks)
227+
* [filestack](./plugins/inputs/webhooks/filestack)
228+
* [github](./plugins/inputs/webhooks/github)
229+
* [mandrill](./plugins/inputs/webhooks/mandrill)
230+
* [rollbar](./plugins/inputs/webhooks/rollbar)
231+
232+
## Processor Plugins
233+
234+
* [printer](./plugins/processors/printer)
235+
236+
## Aggregator Plugins
237+
238+
* [minmax](./plugins/aggregators/minmax)
239+
240+
## Output Plugins
241+
242+
* [influxdb](./plugins/outputs/influxdb)
243+
* [amon](./plugins/outputs/amon)
244+
* [amqp](./plugins/outputs/amqp)
245+
* [aws kinesis](./plugins/outputs/kinesis)
246+
* [aws cloudwatch](./plugins/outputs/cloudwatch)
247+
* [datadog](./plugins/outputs/datadog)
248+
* [file](./plugins/outputs/file)
249+
* [graphite](./plugins/outputs/graphite)
250+
* [graylog](./plugins/outputs/graylog)
251+
* [instrumental](./plugins/outputs/instrumental)
252+
* [kafka](./plugins/outputs/kafka)
253+
* [librato](./plugins/outputs/librato)
254+
* [mqtt](./plugins/outputs/mqtt)
255+
* [nats](./plugins/outputs/nats)
256+
* [nsq](./plugins/outputs/nsq)
257+
* [opentsdb](./plugins/outputs/opentsdb)
258+
* [prometheus](./plugins/outputs/prometheus_client)
259+
* [riemann](./plugins/outputs/riemann)
253260

254261
## Contributing
255262

docs/AGGREGATORS_AND_PROCESSORS.md

+59
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
# Telegraf Aggregator & Processor Plugins
2+
3+
As of release 1.1.0, Telegraf has the concept of Aggregator and Processor Plugins.
4+
5+
These plugins sit in-between Input & Output plugins, aggregating and processing
6+
metrics as they pass through Telegraf:
7+
8+
```
9+
┌───────────┐
10+
│ │
11+
│ CPU │───┐
12+
│ │ │
13+
└───────────┘ │
14+
15+
┌───────────┐ │ ┌───────────┐
16+
│ │ │ │ │
17+
│ Memory │───┤ ┌──▶│ InfluxDB │
18+
│ │ │ │ │ │
19+
└───────────┘ │ ┌─────────────┐ ┌─────────────┐ │ └───────────┘
20+
│ │ │ │Aggregate │ │
21+
┌───────────┐ │ │Process │ │ - mean │ │ ┌───────────┐
22+
│ │ │ │ - transform │ │ - quantiles │ │ │ │
23+
│ MySQL │───┼───▶│ - decorate │────▶│ - min/max │───┼──▶│ File │
24+
│ │ │ │ - filter │ │ - count │ │ │ │
25+
└───────────┘ │ │ │ │ │ │ └───────────┘
26+
│ └─────────────┘ └─────────────┘ │
27+
┌───────────┐ │ │ ┌───────────┐
28+
│ │ │ │ │ │
29+
│ SNMP │───┤ └──▶│ Kafka │
30+
│ │ │ │ │
31+
└───────────┘ │ └───────────┘
32+
33+
┌───────────┐ │
34+
│ │ │
35+
│ Docker │───┘
36+
│ │
37+
└───────────┘
38+
```
39+
40+
Both Aggregators and Processors analyze metrics as they pass through Telegraf.
41+
42+
**Processor** plugins process metrics as they pass through and immediately emit
43+
results based on the values they process. For example, this could be printing
44+
all metrics or adding a tag to all metrics that pass through.
45+
46+
**Aggregator** plugins, on the other hand, are a bit more complicated. Aggregators
47+
are typically for emitting new _aggregate_ metrics, such as a running mean,
48+
minimum, maximum, quantiles, or standard deviation. For this reason, all _aggregator_
49+
plugins are configured with a `period`. The `period` is the size of the window
50+
of metrics that each _aggregate_ represents. In other words, the emitted
51+
_aggregate_ metric will be the aggregated value of the past `period` seconds.
52+
Since many users will only care about their aggregates and not every single metric
53+
gathered, there is also a `drop_original` argument, which tells Telegraf to only
54+
emit the aggregates and not the original metrics.
55+
56+
**NOTE** That since aggregators only aggregate metrics within their period, that
57+
historical data is not supported. In other words, if your metric timestamp is more
58+
than `now() - period` in the past, it will not be aggregated. If this is a feature
59+
that you need, please comment on this [github issue](https://github.com/influxdata/telegraf/issues/1992)

0 commit comments

Comments
 (0)