Telegraf is an agent for collecting system and application metrics from your servers, processing and aggregating the data. It can send the data to other services.
Written in: Go.
Architecture:
Telegraf runs as a daemon on the server that data need to be collected from, and can send the data to various receptors using plugins.
It has plugins for:
- Receiving metrics
- Processing metrics
- Aggregating
- Sending the metrics
Plugins to collect metrics
List of plugins is available at https://github.com/influxdata/telegraf
Notable plugins:
- System (CPU, disk, RAM, etc)
- HTTP – send metrics using InfluxDB protocol
- TCP or UDP via udp_listener or tcp_listener
- Webhooks – GitHub web hooks for example
- AMQP
- Apache
- Consul
- Couchbase
- CouchDB
- Elastic Search
- Exec – runs a script or an executable that provide metrics
- InfluxDB
- Kubernetes
- MySQL
- Nginx
- Prometheus
Plugins for sending metrics
List of plugins is available at https://github.com/influxdata/telegraf
Notable plugins:
- AMQP
- InfluxDB
- Graphite
- Graylog
- Prometheus
- Riemann
- TCP
- UDP