dd-agent
でログコレクターから新しいログを Datadog に送信する際に、よく障害となる問題がいくつかあります。新しいログを Datadog に送信する際に問題が発生した場合は、このページに挙げられたトラブルシューティングをお役立てください。それでも問題が解決しない場合は、 Datadog サポートまでお問い合わせください。
datadog-agent
のコンフィギュレーションに加えられた変更は、Agent を再起動した後に反映されます。
Datadog Agent は、ポート 10516 から TCP で Datadog にログを送信します。この接続が使用できない場合、ログは送信に失敗し、それを示すエラーが agent.log
ファイルに記録されます。
手動で接続をテストするには、次の Telnet または OpenSSL コマンドを実行します (ポート 10514 でも動作しますが、安全性は劣ります)。
openssl s_client -connect intake.logs.datadoghq.com:10516
telnet intake.logs.datadoghq.com 10514
さらに、次のようなログを送信します。
<API_KEY> これはテストメッセージです
datadog.yaml
に次の設定を追加して、Datadog Agent がログを転送するよう構成することができます。logs_config:
use_http: true
詳細については、HTTPS ログ転送セクションをご参照ください。
Agent のステータスコマンドをチェックすることが、問題の解決に役立つことがあります。
Datadog Agent は、ログの収集 (ログの追跡またはリスニング) を開始して以降に書き込まれたログのみを収集します。ログ収集が適切にセットアップされているかどうかを確認する場合は、まず新しいログが書き込まれていることを確認してください。
datadog-agent
はルートとして実行されません (一般的なベストプラクティスとしても、ルートとして実行することはお勧めしていません)。このため、(カスタムログまたはインテグレーションの) ログファイルを追跡するように datadog-agent
を構成する場合は、追跡して収集するログファイルへの読み取りアクセス権を datadog-agent
ユーザーが持つことを特に注意して確認する必要があります。
そのような場合、Agent のステータス に次のようなエラーメッセージが表示されます。
==========
Logs Agent
==========
test
----
Type: file
Path: /var/log/application/error.log
Status: Error: file /var/log/application/error.log does not exist
ファイルアクセス許可の詳細情報を取得するには、namei
コマンドを実行します。
> namei -m /var/log/application/error.log
> f: /var/log/application/error.log
drwxr-xr-x /
drwxr-xr-x var
drwxrwxr-x log
drw-r--r-- application
-rw-r----- error.log
この例の場合、application
ディレクトリが実行可能ディレクトリではないため、Agent はファイルをリストできません。さらに、Agent には error.log
ファイルに対する読み取りアクセス許可がありません。
chmod コマンドを使用して、不足しているアクセス許可を追加してください。
注: 読み取りアクセス許可を追加する際は、ログローテーション構成でそれらのアクセス許可が正しく設定されていることを確認してください。そうでない場合、次のログローテーションで、Datadog Agent が読み取りアクセス許可を失う可能性があります。
Agent がファイルへの読み取りアクセス許可を持つようにするには、ログローテーション構成でそれらのファイルのアクセス許可を 644
に設定します。
journald からログを収集する場合は、journald インテグレーションで説明されているように、Datadog Agent ユーザーが systemd グループに追加されている必要があります。
ファイルアクセス許可が正しくなければ、journald は空のペイロードを送信します。そのため、この場合は、明示的なエラーメッセージを表示および送信することはできません。
以下に挙げる一般的な構成上の問題は、datadog-agent
セットアップで何重にもチェックすることをお勧めします。
datadog.yaml
で api_key
が定義されているかをチェックします。
datadog.yaml
で logs_enabled: true
が設定されているかをチェックします。
デフォルトでは、Agent はログを収集しません。Agent の conf.d/
ディレクトリに、logs セクションと適切な値が含まれた .yaml ファイルが少なくとも 1 つあることを確認します。
構成ファイルで何らかの .yaml パースエラーが発生することがあります。YAML には細かな注意が必要なため、疑わしい場合は、YAML 検証ツールを使用してください。
問題について記述されたエラーがログに含まれている場合があります。次のコマンドを実行して、このようなエラーをチェックします。
sudo cat /var/log/datadog/agent.log | grep ERROR
Docker ログ収集のトラブルシューティングガイドをご参照ください
Lambda ログ収集のトラブルシューティングガイドをご参照ください
ログが Datadog Live Tail に表示されることをチェックします。Live Tail に表示される場合は、インデックス構成ページで、いずれかの除外フィルターがログと一致していないかどうかをチェックしてください。
このページ