1
1
# 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/ )
2
2
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.
6
5
7
6
Design goals are to have a minimal memory footprint with a plugin system so
8
7
that developers in the community can easily add support for collecting metrics
9
8
from well known services (like Hadoop, Postgres, or Redis) and third party
10
9
APIs (like Mailchimp, AWS CloudWatch, or Google Analytics).
11
10
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,
13
21
we'll eagerly accept pull
14
22
requests and will manage the set of plugins that Telegraf supports.
15
23
See the [ contributing guide] ( CONTRIBUTING.md ) for instructions on writing
@@ -39,7 +47,7 @@ controlled via `systemctl [action] telegraf`
39
47
### yum/apt Repositories:
40
48
41
49
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 )
43
51
for instructions on setting up the repo. Once it is configured, you will be able
44
52
to use this repo to install & update telegraf.
45
53
@@ -127,77 +135,71 @@ telegraf --config telegraf.conf -input-filter cpu:mem -output-filter influxdb
127
135
See the [ configuration guide] ( docs/CONFIGURATION.md ) for a rundown of the more advanced
128
136
configuration options.
129
137
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 )
201
203
* cpu
202
204
* mem
203
205
* net
@@ -211,45 +213,50 @@ Currently implemented sources:
211
213
212
214
Telegraf can also collect metrics via the following service plugins:
213
215
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 )
253
260
254
261
## Contributing
255
262
0 commit comments