You can monitor the Treasure Agent (td-agent) daemon to collect metrics or to troubleshoot your system.


Prerequisites

  • Basic knowledge of Treasure Data.

  • Basic knowledge of td-agent.

Fluentd Metrics Monitoring

Monitoring via HTTP

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"}}]}%

Monitoring with Prometheus or Datadog

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).

Process Monitoring

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.log

For 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.log

Port Monitoring

td-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.

Debug Port

A debug port for local communication is also opened.

  • TCP 127.0.0.1 24230


  • No labels