You can monitor the Treasure Agent (td-agent) daemon to collect metrics or to troubleshoot your system.
- Prerequisites
- Fluentd Metrics Monitoring
- Monitoring via HTTP
- Monitoring with Prometheus or Datadog
- Process Monitoring
- Port Monitoring
- Debug Port
Basic knowledge of Treasure Data.
Basic knowledge of td-agent.
td-agent has a built-in monitoring agent to retrieve internal metrics in JSON via HTTP. Add the following lines to your configuration file.
<source>
type monitor_agent
bind 0.0.0.0
port 24220
</source>disable_node_info (default true): Send system metrics, CPU / Memory / Disk, or not.
Restart the agent and get the metrics via HTTP.
$ curl http://host:24220/api/plugins.json
{"plugins":[{"plugin_id":"object:3fec669d6ac4","type":"forward","output_plugin":false,"config":{"type":"forward"}},{"plugin_id":"object:3fec669daf98","type":"http","output_plugin":false,"config":{"type":"http","port":"8888"}},{"plugin_id":"object:3fec669dfa48","type":"monitor_agent","output_plugin":false,"config":{"type":"monitor_agent","port":"24220"}},{"plugin_id":"object:3fec66a52e94","type":"debug_agent","output_plugin":false,"config":{"type":"debug_agent","port":"24230"}},{"plugin_id":"object:3fec66ae3dcc","type":"stdout","output_plugin":true,"config":{"type":"stdout"}},{"plugin_id":"object:3fec66aead48","type":"forward","output_plugin":true,"buffer_queue_length":0,"buffer_total_queued_size":0,"retry_count":0,"config":{"type":"forward","host":"192.168.0.11"}}]}%Additionally, td-agent works with monitoring tools such as Prometheus, Datadog, etc. Our recommendation is to use Prometheus because Treasure Data collaborates with the CNCF (Cloud Native Computing Foundation).
Two ruby processes (parent and child) are executed. Ensure that these processes are running.
/usr/lib/fluent/ruby/bin/ruby /usr/sbin/td-agent \
--daemon /var/run/td-agent/td-agent.pid \
--log /var/log/td-agent/td-agent.logFor td-agent on Linux, you can check the process status with the following command. You see the status of two processes if there are no issues.
$ ps w -C ruby -C td-agent --no-heading
32342 ? Sl 0:00 /usr/lib/fluent/ruby/bin/ruby /usr/sbin/td-agent --daemon /var/run/td-agent/td-agent.pid --log /var/log/td-agent/td-agent.log
32345 ? Sl 0:01 /usr/lib/fluent/ruby/bin/ruby /usr/sbin/td-agent --daemon /var/run/td-agent/td-agent.pid --log /var/log/td-agent/td-agent.logtd-agent opens the following ports by default. We recommend checking the availability of these ports.
TCP 0.0.0.0 8888 (HTTP)
TCP 0.0.0.0 24224 (Forward)
If you don’t send any data, the daemon doesn’t do anything.
A debug port for local communication is also opened.
- TCP 127.0.0.1 24230