Datadog Agent には、ログが失われないようにするためのメカニズムがいくつかあります。
ログのローテーション
ファイルがローテーションされると、Agent は古いファイルのテールを継続しながら、新しく作成されたファイルのテールを並行して開始します。
Agent は古いファイルをテールし続けますが、Agent が最新のファイルをテールするためにリソースを使用していることを確認するために、ログローテーション後に 60 秒のタイムアウトが設定されます。
ネットワークの問題
ファイルテール
Agent は、各テールファイルのポインタを保存します。ネットワーク接続に問題がある場合、Agent は接続が回復するまでログの送信を停止し、ログが失われないように停止した場所を自動的にピックアップします。
ポートリスニング
Agent が TCP または UDP ポートをリッスンしていてネットワークの問題に直面した場合、ネットワークが再び利用可能になるまで、ログはローカルバッファに保存されます。
ただし、メモリの問題を避けるために、このバッファにはいくつかの制限があります。バッファがいっぱいになると、新しいログは削除されます。
コンテナログ
ファイルに関しては、Datadog はテールされたコンテナ毎にポインタを保存します。そのため、ネットワークに問題が発生した場合、Agent はどのログがまだ送信されていないかを知ることができます。
ただし、ネットワークが再び利用可能になる前にテールコンテナが削除されると、ログにはアクセスできなくなります。