influxdata / telegraf
Agent for collecting, processing, aggregating, and writing metrics, logs, and other arbitrary data.
AI Architecture Analysis
This repository is indexed by RepoMind. By analyzing influxdata/telegraf in our AI interface, you can instantly generate complete architecture diagrams, visualize control flows, and perform automated security audits across the entire codebase.
Our Agentic Context Augmented Generation (Agentic CAG) engine loads full source files into context on-demand, avoiding the fragmentation of traditional RAG systems. Ask questions about the architecture, dependencies, or specific features to see it in action.
Repository Overview (README excerpt)
Crawler viewTelegraf Telegraf is an agent for collecting, processing, aggregating, and writing metrics, logs, and other arbitrary data. • Offers a comprehensive suite of over 300 plugins, covering a wide range of functionalities including system monitoring, cloud services, and message passing • Enables the integration of user-defined code to collect, transform, and transmit data efficiently • Compiles into a standalone static binary without any external dependencies, ensuring a streamlined deployment process • Utilizes TOML for configuration, providing a user-friendly and unambiguous setup experience • Developed with contributions from a diverse community of over 1,200 contributors Users can choose plugins from a wide range of topics, including but not limited to: • Devices: [OPC UA][], [Modbus][] • Logs: [File][], [Tail][], [Directory Monitor][] • Messaging: [AMQP][], [Kafka][], [MQTT][] • Monitoring: [OpenTelemetry][], [Prometheus][] • Networking: [Cisco TelemetryMDT][], [gNMI][] • System monitoring: [CPU][], [Memory][], [Disk][], [Network][], [SMART][], [Docker][], [Nvidia SMI][], etc. • Universal: [Exec][], [HTTP][], [HTTP Listener][], [SNMP][], [SQL][] • Windows: [Event Log][], [Management Instrumentation][], [Performance Counters][] 🔨 Installation For binary builds, Docker images, RPM & DEB packages, and other builds of Telegraf, please see the install guide. See the releases documentation for details on versioning and when releases are made. 💻 Usage Users define a TOML configuration with the plugins and settings they wish to use, then pass that configuration to Telegraf. The Telegraf agent then collects data from inputs at each interval and sends data to outputs at each flush interval. For a basic walkthrough see quick start. 📖 Documentation For a full list of documentation including tutorials, reference and other material, start with the /docs directory. Additionally, each plugin has its own README that includes details about how to configure, use, and sometimes debug or troubleshoot. Look under the /plugins directory for specific plugins. Here are some commonly used documents: • Changelog • Configuration • FAQ • Releases • Security ❤️ Contribute We love our community of over 1,200 contributors! Many of the plugins included in Telegraf were originally contributed by community members. Check out our contributing guide if you are interested in helping out. Also, join us on our Community Slack or Community Forums if you have questions or comments for our engineering teams. If you are completely new to Telegraf and InfluxDB, you can also enroll for free at InfluxDB university to take courses to learn more. ℹ️ Support Please use the Community Slack or Community Forums if you have questions or comments for our engineering teams. GitHub issues are limited to actual issues and feature requests only. 📜 License [OPC UA]: https://github.com/influxdata/telegraf/tree/master/plugins/inputs/opcua [Modbus]: https://github.com/influxdata/telegraf/tree/master/plugins/inputs/modbus [File]: https://github.com/influxdata/telegraf/tree/master/plugins/inputs/file [Tail]: https://github.com/influxdata/telegraf/tree/master/plugins/inputs/tail [Directory Monitor]: https://github.com/influxdata/telegraf/tree/master/plugins/inputs/directory_monitor [AMQP]: https://github.com/influxdata/telegraf/tree/master/plugins/inputs/amqp_consumer [Kafka]: https://github.com/influxdata/telegraf/tree/master/plugins/inputs/kafka_consumer [MQTT]: https://github.com/influxdata/telegraf/tree/master/plugins/inputs/mqtt_consumer [OpenTelemetry]: https://github.com/influxdata/telegraf/tree/master/plugins/inputs/opentelemetry [Prometheus]: https://github.com/influxdata/telegraf/tree/master/plugins/inputs/prometheus [Cisco TelemetryMDT]: https://github.com/influxdata/telegraf/tree/master/plugins/inputs/cisco_telemetry_mdt [gNMI]: https://github.com/influxdata/telegraf/tree/master/plugins/inputs/gnmi [CPU]: https://github.com/influxdata/telegraf/tree/master/plugins/inputs/cpu [Memory]: https://github.com/influxdata/telegraf/tree/master/plugins/inputs/mem [Disk]: https://github.com/influxdata/telegraf/tree/master/plugins/inputs/disk [Network]: https://github.com/influxdata/telegraf/tree/master/plugins/inputs/net [SMART]: https://github.com/influxdata/telegraf/tree/master/plugins/inputs/smartctl [Docker]: https://github.com/influxdata/telegraf/tree/master/plugins/inputs/docker [Nvidia SMI]: https://github.com/influxdata/telegraf/tree/master/plugins/inputs/nvidia_smi [Exec]: https://github.com/influxdata/telegraf/tree/master/plugins/inputs/exec [HTTP]: https://github.com/influxdata/telegraf/tree/master/plugins/inputs/http [HTTP Listener]: https://github.com/influxdata/telegraf/tree/master/plugins/inputs/http_listener_v2 [SNMP]: https://github.com/influxdata/telegraf/tree/master/plugins/inputs/snmp [SQL]: https://github.com/influxdata/telegraf/tree/master/plugins/inputs/sql [Event Log]: https://github.com/influxdata/telegraf/tree/master/plugins/inputs/win_eventlog [Management Instrumentation]: https://github.com/influxdata/telegraf/tree/master/plugins/inputs/win_wmi [Performance Counters]: https://github.com/influxdata/telegraf/tree/master/plugins/inputs/win_perf_counters