{"id":20661836,"url":"https://github.com/mirantis/telegraf","last_synced_at":"2025-04-19T15:48:10.166Z","repository":{"id":64305716,"uuid":"88990190","full_name":"Mirantis/telegraf","owner":"Mirantis","description":null,"archived":false,"fork":false,"pushed_at":"2020-02-26T12:13:10.000Z","size":14432,"stargazers_count":3,"open_issues_count":1,"forks_count":3,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-29T09:34:23.835Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Mirantis.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-04-21T14:06:13.000Z","updated_at":"2018-04-07T00:29:47.000Z","dependencies_parsed_at":"2023-01-15T10:30:27.877Z","dependency_job_id":null,"html_url":"https://github.com/Mirantis/telegraf","commit_stats":null,"previous_names":[],"tags_count":81,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mirantis%2Ftelegraf","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mirantis%2Ftelegraf/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mirantis%2Ftelegraf/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mirantis%2Ftelegraf/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Mirantis","download_url":"https://codeload.github.com/Mirantis/telegraf/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249730600,"owners_count":21317327,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-16T19:11:49.749Z","updated_at":"2025-04-19T15:48:10.148Z","avatar_url":"https://github.com/Mirantis.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 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/)\n\nTelegraf is an agent written in Go for collecting, processing, aggregating,\nand writing metrics.\n\nDesign goals are to have a minimal memory footprint with a plugin system so\nthat developers in the community can easily add support for collecting metrics\nfrom local or remote services.\n\nTelegraf is plugin-driven and has the concept of 4 distinct plugins:\n\n1. [Input Plugins](#input-plugins) collect metrics from the system, services, or 3rd party APIs\n2. [Processor Plugins](#processor-plugins) transform, decorate, and/or filter metrics\n3. [Aggregator Plugins](#aggregator-plugins) create aggregate metrics (e.g. mean, min, max, quantiles, etc.)\n4. [Output Plugins](#output-plugins) write metrics to various destinations\n\nFor more information on Processor and Aggregator plugins please [read this](./docs/AGGREGATORS_AND_PROCESSORS.md).\n\nNew plugins are designed to be easy to contribute,\nwe'll eagerly accept pull\nrequests and will manage the set of plugins that Telegraf supports.\n\n## Contributing\n\nThere are many ways to contribute:\n- Fix and [report bugs](https://github.com/influxdata/telegraf/issues/new)\n- [Improve documentation](https://github.com/influxdata/telegraf/issues?q=is%3Aopen+label%3Adocumentation)\n- [Review code and feature proposals](https://github.com/influxdata/telegraf/pulls)\n- Answer questions on github and on the [Community Site](https://community.influxdata.com/)\n- [Contribute plugins](CONTRIBUTING.md)\n\n## Installation:\n\nYou can download the binaries directly from the [downloads](https://www.influxdata.com/downloads) page\nor from the [releases](https://github.com/influxdata/telegraf/releases) section.\n\n### Ansible Role:\n\nAnsible role: https://github.com/rossmcdonald/telegraf\n\n### From Source:\n\nTelegraf requires golang version 1.8+, the Makefile requires GNU make.\n\nDependencies are managed with [gdm](https://github.com/sparrc/gdm),\nwhich is installed by the Makefile if you don't have it already.\n\n1. [Install Go](https://golang.org/doc/install)\n2. [Setup your GOPATH](https://golang.org/doc/code.html#GOPATH)\n3. Run `go get -d github.com/influxdata/telegraf`\n4. Run `cd $GOPATH/src/github.com/influxdata/telegraf`\n5. Run `make`\n\n### Nightly Builds\n\nThese builds are generated from the master branch:\n- [telegraf_nightly_amd64.deb](https://dl.influxdata.com/telegraf/nightlies/telegraf_nightly_amd64.deb)\n- [telegraf_nightly_arm64.deb](https://dl.influxdata.com/telegraf/nightlies/telegraf_nightly_arm64.deb)\n- [telegraf-nightly.arm64.rpm](https://dl.influxdata.com/telegraf/nightlies/telegraf-nightly.arm64.rpm)\n- [telegraf_nightly_armel.deb](https://dl.influxdata.com/telegraf/nightlies/telegraf_nightly_armel.deb)\n- [telegraf-nightly.armel.rpm](https://dl.influxdata.com/telegraf/nightlies/telegraf-nightly.armel.rpm)\n- [telegraf_nightly_armhf.deb](https://dl.influxdata.com/telegraf/nightlies/telegraf_nightly_armhf.deb)\n- [telegraf-nightly.armv6hl.rpm](https://dl.influxdata.com/telegraf/nightlies/telegraf-nightly.armv6hl.rpm)\n- [telegraf-nightly_freebsd_amd64.tar.gz](https://dl.influxdata.com/telegraf/nightlies/telegraf-nightly_freebsd_amd64.tar.gz)\n- [telegraf-nightly_freebsd_i386.tar.gz](https://dl.influxdata.com/telegraf/nightlies/telegraf-nightly_freebsd_i386.tar.gz)\n- [telegraf_nightly_i386.deb](https://dl.influxdata.com/telegraf/nightlies/telegraf_nightly_i386.deb)\n- [telegraf-nightly.i386.rpm](https://dl.influxdata.com/telegraf/nightlies/telegraf-nightly.i386.rpm)\n- [telegraf-nightly_linux_amd64.tar.gz](https://dl.influxdata.com/telegraf/nightlies/telegraf-nightly_linux_amd64.tar.gz)\n- [telegraf-nightly_linux_arm64.tar.gz](https://dl.influxdata.com/telegraf/nightlies/telegraf-nightly_linux_arm64.tar.gz)\n- [telegraf-nightly_linux_armel.tar.gz](https://dl.influxdata.com/telegraf/nightlies/telegraf-nightly_linux_armel.tar.gz)\n- [telegraf-nightly_linux_armhf.tar.gz](https://dl.influxdata.com/telegraf/nightlies/telegraf-nightly_linux_armhf.tar.gz)\n- [telegraf-nightly_linux_i386.tar.gz](https://dl.influxdata.com/telegraf/nightlies/telegraf-nightly_linux_i386.tar.gz)\n- [telegraf-nightly_linux_s390x.tar.gz](https://dl.influxdata.com/telegraf/nightlies/telegraf-nightly_linux_s390x.tar.gz)\n- [telegraf_nightly_s390x.deb](https://dl.influxdata.com/telegraf/nightlies/telegraf_nightly_s390x.deb)\n- [telegraf-nightly.s390x.rpm](https://dl.influxdata.com/telegraf/nightlies/telegraf-nightly.s390x.rpm)\n- [telegraf-nightly_windows_amd64.zip](https://dl.influxdata.com/telegraf/nightlies/telegraf-nightly_windows_amd64.zip)\n- [telegraf-nightly_windows_i386.zip](https://dl.influxdata.com/telegraf/nightlies/telegraf-nightly_windows_i386.zip)\n- [telegraf-nightly.x86_64.rpm](https://dl.influxdata.com/telegraf/nightlies/telegraf-nightly.x86_64.rpm)\n- [telegraf-static-nightly_linux_amd64.tar.gz](https://dl.influxdata.com/telegraf/nightlies/telegraf-static-nightly_linux_amd64.tar.gz)\n\n## How to use it:\n\nSee usage with:\n\n```\n./telegraf --help\n```\n\n#### Generate a telegraf config file:\n\n```\n./telegraf config \u003e telegraf.conf\n```\n\n#### Generate config with only cpu input \u0026 influxdb output plugins defined:\n\n```\n./telegraf --input-filter cpu --output-filter influxdb config\n```\n\n#### Run a single telegraf collection, outputing metrics to stdout:\n\n```\n./telegraf --config telegraf.conf --test\n```\n\n#### Run telegraf with all plugins defined in config file:\n\n```\n./telegraf --config telegraf.conf\n```\n\n#### Run telegraf, enabling the cpu \u0026 memory input, and influxdb output plugins:\n\n```\n./telegraf --config telegraf.conf --input-filter cpu:mem --output-filter influxdb\n```\n\n\n## Configuration\n\nSee the [configuration guide](docs/CONFIGURATION.md) for a rundown of the more advanced\nconfiguration options.\n\n## Input Plugins\n\n* [aerospike](./plugins/inputs/aerospike)\n* [amqp_consumer](./plugins/inputs/amqp_consumer) (rabbitmq)\n* [apache](./plugins/inputs/apache)\n* [aws cloudwatch](./plugins/inputs/cloudwatch)\n* [bcache](./plugins/inputs/bcache)\n* [bond](./plugins/inputs/bond)\n* [cassandra](./plugins/inputs/cassandra)\n* [ceph](./plugins/inputs/ceph)\n* [cgroup](./plugins/inputs/cgroup)\n* [chrony](./plugins/inputs/chrony)\n* [consul](./plugins/inputs/consul)\n* [conntrack](./plugins/inputs/conntrack)\n* [couchbase](./plugins/inputs/couchbase)\n* [couchdb](./plugins/inputs/couchdb)\n* [DC/OS](./plugins/inputs/dcos)\n* [disque](./plugins/inputs/disque)\n* [dmcache](./plugins/inputs/dmcache)\n* [dns query time](./plugins/inputs/dns_query)\n* [docker](./plugins/inputs/docker)\n* [dovecot](./plugins/inputs/dovecot)\n* [elasticsearch](./plugins/inputs/elasticsearch)\n* [exec](./plugins/inputs/exec) (generic executable plugin, support JSON, influx, graphite and nagios)\n* [fail2ban](./plugins/inputs/fail2ban)\n* [filestat](./plugins/inputs/filestat)\n* [fluentd](./plugins/inputs/fluentd)\n* [graylog](./plugins/inputs/graylog)\n* [haproxy](./plugins/inputs/haproxy)\n* [hddtemp](./plugins/inputs/hddtemp)\n* [http](./plugins/inputs/http) (generic HTTP plugin, supports using input data formats)\n* [http_response](./plugins/inputs/http_response)\n* [httpjson](./plugins/inputs/httpjson) (generic JSON-emitting http service plugin)\n* [internal](./plugins/inputs/internal)\n* [influxdb](./plugins/inputs/influxdb)\n* [interrupts](./plugins/inputs/interrupts)\n* [ipmi_sensor](./plugins/inputs/ipmi_sensor)\n* [iptables](./plugins/inputs/iptables)\n* [ipset](./plugins/inputs/ipset)\n* [jolokia](./plugins/inputs/jolokia) (deprecated, use [jolokia2](./plugins/inputs/jolokia2))\n* [jolokia2](./plugins/inputs/jolokia2)\n* [kapacitor](./plugins/inputs/kapacitor)\n* [kubernetes](./plugins/inputs/kubernetes)\n* [leofs](./plugins/inputs/leofs)\n* [lustre2](./plugins/inputs/lustre2)\n* [mailchimp](./plugins/inputs/mailchimp)\n* [memcached](./plugins/inputs/memcached)\n* [mesos](./plugins/inputs/mesos)\n* [minecraft](./plugins/inputs/minecraft)\n* [mongodb](./plugins/inputs/mongodb)\n* [mysql](./plugins/inputs/mysql)\n* [nats](./plugins/inputs/nats)\n* [net_response](./plugins/inputs/net_response)\n* [nginx](./plugins/inputs/nginx)\n* [nginx_plus](./plugins/inputs/nginx_plus)\n* [nsq](./plugins/inputs/nsq)\n* [nstat](./plugins/inputs/nstat)\n* [ntpq](./plugins/inputs/ntpq)\n* [openldap](./plugins/inputs/openldap)\n* [opensmtpd](./plugins/inputs/opensmtpd)\n* [pf](./plugins/inputs/pf)\n* [phpfpm](./plugins/inputs/phpfpm)\n* [phusion passenger](./plugins/inputs/passenger)\n* [ping](./plugins/inputs/ping)\n* [postfix](./plugins/inputs/postfix)\n* [postgresql_extensible](./plugins/inputs/postgresql_extensible)\n* [postgresql](./plugins/inputs/postgresql)\n* [powerdns](./plugins/inputs/powerdns)\n* [procstat](./plugins/inputs/procstat)\n* [prometheus](./plugins/inputs/prometheus) (can be used for [Caddy server](./plugins/inputs/prometheus/README.md#usage-for-caddy-http-server))\n* [puppetagent](./plugins/inputs/puppetagent)\n* [rabbitmq](./plugins/inputs/rabbitmq)\n* [raindrops](./plugins/inputs/raindrops)\n* [redis](./plugins/inputs/redis)\n* [rethinkdb](./plugins/inputs/rethinkdb)\n* [riak](./plugins/inputs/riak)\n* [salesforce](./plugins/inputs/salesforce)\n* [sensors](./plugins/inputs/sensors)\n* [smart](./plugins/inputs/smart)\n* [snmp](./plugins/inputs/snmp)\n* [snmp_legacy](./plugins/inputs/snmp_legacy)\n* [solr](./plugins/inputs/solr)\n* [sql server](./plugins/inputs/sqlserver) (microsoft)\n* [teamspeak](./plugins/inputs/teamspeak)\n* [tomcat](./plugins/inputs/tomcat)\n* [twemproxy](./plugins/inputs/twemproxy)\n* [unbound](./plugins/inputs/unbound)\n* [varnish](./plugins/inputs/varnish)\n* [zfs](./plugins/inputs/zfs)\n* [zookeeper](./plugins/inputs/zookeeper)\n* [win_perf_counters](./plugins/inputs/win_perf_counters) (windows performance counters)\n* [win_services](./plugins/inputs/win_services)\n* [sysstat](./plugins/inputs/sysstat)\n* [system](./plugins/inputs/system)\n    * cpu\n    * mem\n    * net\n    * netstat\n    * disk\n    * diskio\n    * swap\n    * processes\n    * kernel (/proc/stat)\n    * kernel (/proc/vmstat)\n    * linux_sysctl_fs (/proc/sys/fs)\n\nTelegraf can also collect metrics via the following service plugins:\n\n* [http_listener](./plugins/inputs/http_listener)\n* [kafka_consumer](./plugins/inputs/kafka_consumer)\n* [mqtt_consumer](./plugins/inputs/mqtt_consumer)\n* [nats_consumer](./plugins/inputs/nats_consumer)\n* [nsq_consumer](./plugins/inputs/nsq_consumer)\n* [logparser](./plugins/inputs/logparser)\n* [statsd](./plugins/inputs/statsd)\n* [socket_listener](./plugins/inputs/socket_listener)\n* [tail](./plugins/inputs/tail)\n* [tcp_listener](./plugins/inputs/socket_listener)\n* [udp_listener](./plugins/inputs/socket_listener)\n* [webhooks](./plugins/inputs/webhooks)\n  * [filestack](./plugins/inputs/webhooks/filestack)\n  * [github](./plugins/inputs/webhooks/github)\n  * [mandrill](./plugins/inputs/webhooks/mandrill)\n  * [papertrail](./plugins/inputs/webhooks/papertrail)\n  * [particle](./plugins/inputs/webhooks/particle)\n  * [rollbar](./plugins/inputs/webhooks/rollbar)\n* [zipkin](./plugins/inputs/zipkin)\n\nTelegraf is able to parse the following input data formats into metrics, these\nformats may be used with input plugins supporting the `data_format` option:\n\n* [InfluxDB Line Protocol](./docs/DATA_FORMATS_INPUT.md#influx)\n* [JSON](./docs/DATA_FORMATS_INPUT.md#json)\n* [Graphite](./docs/DATA_FORMATS_INPUT.md#graphite)\n* [Value](./docs/DATA_FORMATS_INPUT.md#value)\n* [Nagios](./docs/DATA_FORMATS_INPUT.md#nagios)\n* [Collectd](./docs/DATA_FORMATS_INPUT.md#collectd)\n* [Dropwizard](./docs/DATA_FORMATS_INPUT.md#dropwizard)\n\n## Processor Plugins\n\n* [printer](./plugins/processors/printer)\n* [override](./plugins/processors/override)\n\n## Aggregator Plugins\n\n* [basicstats](./plugins/aggregators/basicstats)\n* [minmax](./plugins/aggregators/minmax)\n* [histogram](./plugins/aggregators/histogram)\n\n## Output Plugins\n\n* [influxdb](./plugins/outputs/influxdb)\n* [amon](./plugins/outputs/amon)\n* [amqp](./plugins/outputs/amqp) (rabbitmq)\n* [aws kinesis](./plugins/outputs/kinesis)\n* [aws cloudwatch](./plugins/outputs/cloudwatch)\n* [cratedb](./plugins/outputs/cratedb)\n* [datadog](./plugins/outputs/datadog)\n* [discard](./plugins/outputs/discard)\n* [elasticsearch](./plugins/outputs/elasticsearch)\n* [file](./plugins/outputs/file)\n* [graphite](./plugins/outputs/graphite)\n* [graylog](./plugins/outputs/graylog)\n* [instrumental](./plugins/outputs/instrumental)\n* [kafka](./plugins/outputs/kafka)\n* [librato](./plugins/outputs/librato)\n* [mqtt](./plugins/outputs/mqtt)\n* [nats](./plugins/outputs/nats)\n* [nsq](./plugins/outputs/nsq)\n* [opentsdb](./plugins/outputs/opentsdb)\n* [prometheus](./plugins/outputs/prometheus_client)\n* [riemann](./plugins/outputs/riemann)\n* [riemann_legacy](./plugins/outputs/riemann_legacy)\n* [socket_writer](./plugins/outputs/socket_writer)\n* [tcp](./plugins/outputs/socket_writer)\n* [udp](./plugins/outputs/socket_writer)\n* [wavefront](./plugins/outputs/wavefront)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmirantis%2Ftelegraf","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmirantis%2Ftelegraf","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmirantis%2Ftelegraf/lists"}