Data collectors are essential tools for obtaining metrics and sending them to your database management system for storage. This article lists the top five data collectors that are suited for sending data to a time-series database (TSDB).
Top 5 Data Collector Tools
Telegraf
Telegraf is one of the most popular and widely used data collectors for time-series data applications. It is a server-based agent for collecting and sending all metrics and events from databases, systems, and IoT sensors. Telegraf is written in Go and compiles into a single binary with no external dependencies, and requires a very minimal memory footprint.
For information about using Telegraf with TDengine, see the official documentation.
Prometheus
Although Prometheus is a full-fledged monitoring and alerting system, you can also use it as a data collector for your time-series database. Prometheus implements a highly dimensional data model. Time series are identified by a metric name and a set of key-value pairs. PromQL allows slicing and dicing of collected time series data in order to generate ad-hoc graphs, tables, and alerts. Prometheus has multiple modes for visualizing data: a built-in expression browser, Grafana integration, and a console template language. Prometheus stores time series in memory and on local disk in an efficient custom format. Scaling is achieved by functional sharding and federation.
For information about using Prometheus with TDengine, see the official documentation.
collectd
collectd is a daemon that collects and stores performance metrics for applications and for the system. It gathers these metrics from the operating system, applications, log files and external devices, and stores them or makes them available to other applications. You can then use the collected metrics to monitor the performance and load of your systems.
collectd is a great data collector for system monitoring because of its small footprint and high performance even with a large number of metrics being collected. In addition, it is open-source software with strong community support.
For information about using collectd with TDengine, see the official documentation.
StatsD
StatsD is originally a simple daemon developed and released by Etsy to aggregate and summarize application metrics. With StatsD, applications are to be instrumented by developers using language-specific client libraries. These libraries will then communicate with the StatsD daemon using its dead-simple protocol, and the daemon will then generate aggregate metrics and relay them to virtually any graphing or monitoring backend.
For information about using StatsD with TDengine, see the official documentation.
Icinga 2
Icinga is a monitoring system which checks the availability of your network resources, notifies users of outages, and generates performance data for reporting. Scalable and extensible, Icinga can monitor large, complex environments across multiple locations. Icinga 2 is the monitoring server and requires Icinga Web 2 on top in your Icinga Stack. The configuration can be easily managed with either the Icinga Director, config management tools or plain text within the Icinga DSL.
For more information about using Icinga 2 with TDengine, see the official documentation.