# TD Agentの監視 Treasure Agent(`td-agent`)デーモンを監視して、メトリクスを収集したり、システムのトラブルシューティングを行ったりできます。 * [前提条件](#prerequisites) * [Fluentdメトリクス監視](#fluentd-metrics-monitoring) * [HTTP経由での監視](#monitoring-via-http) * [PrometheusまたはDatadogでの監視](#monitoring-with-prometheus-or-datadog) * [プロセス監視](#process-monitoring) * [ポート監視](#port-monitoring) * [デバッグポート](#debug-port) # 前提条件 * Treasure Dataの基本的な知識。 * td-agentの基本的な知識。 # Fluentdメトリクス監視 ## HTTP経由での監視 `td-agent`には、HTTP経由でJSON形式で内部メトリクスを取得するための組み込み監視エージェントがあります。設定ファイルに以下の行を追加してください。 ```conf type monitor_agent bind 0.0.0.0 port 24220 ``` `disable_node_info`(デフォルト`true`): システムメトリクス、CPU / Memory / Diskを送信するかどうか。 エージェントを再起動し、HTTP経由でメトリクスを取得してください。 ```bash $ 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"}}]}% ``` ## PrometheusまたはDatadogでの監視 さらに、td-agentはPrometheusやDatadogなどの監視ツールと連携します。Treasure DataがCNCF(Cloud Native Computing Foundation)と協力しているため、Prometheusの使用をお勧めします。 * [Monitoring Fluentd (Prometheus)](https://docs.fluentd.org/monitoring-fluentd/monitoring-prometheus) * [Monitoring Fluentd (Datadog)](https://docs.datadoghq.com/integrations/fluentd/) # プロセス監視 2つの`ruby`プロセス(親と子)が実行されます。これらのプロセスが実行されていることを確認してください。 ```bash /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 ``` Linux上のtd-agentの場合、以下のコマンドでプロセスステータスを確認できます。問題がなければ、2つのプロセスのステータスが表示されます。 ```bash $ 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 ``` # ポート監視 td-agentはデフォルトで以下のポートを開きます。これらのポートの可用性を確認することをお勧めします。 * TCP 0.0.0.0 8888 (HTTP) * TCP 0.0.0.0 24224 (Forward) データを送信しない場合、デーモンは何もしません。 ## デバッグポート ローカル通信用のデバッグポートも開かれます。 * TCP 127.0.0.1 24230