Closed6

Datadogに送ったログのタグ欠損

mikutasmikutas

Issue

https://github.com/DataDog/datadog-agent/issues/5667


7.17.0 / 6.17.0のCHANGELOG

https://github.com/DataDog/datadog-agent/blob/e560ef1ca8e6966cd354f9bfef7b391a9b54d067/CHANGELOG.rst#L5717-L5720

"logs_config.tagger_warmup_duration"を構成することで、初期ログで kubernetes タグが失われるリスクを軽減できるようになりました。
"logs_config.tagger_warmup_duration"を設定すると、コンテナの最初のログの送信が遅れます。
デフォルト値は 0 秒です。修正はデフォルトで無効になっています。
すべてのタグを取得するには、"logs_config.tagger_warmup_duration"を 5 (秒) に設定するだけで十分です。


warmup導入PR

https://github.com/DataDog/datadog-agent/pull/4661


ドキュメント更新PR

https://github.com/DataDog/documentation/pull/14692

https://github.com/DataDog/documentation/pull/15370


ドキュメントの言及箇所

https://docs.datadoghq.com/containers/kubernetes/log/?tab=daemonset#troubleshooting

タガーの準備が整うまでログ エージェントを数秒間待機させるには、環境変数 DD_LOGS_CONFIG_TAGGER_WARMUP_DURATION を使用して、待機する秒数を設定します。デフォルト値は 0 です。

mikutasmikutas

5秒に設定しても欠損に遭遇した
10秒に設定しても欠損に遭遇した

mikutasmikutas

いずれもHelmチャートを使う場合

環境変数で設定する

専用のvalueはない
agents.containers.agent.envで設定

ファイルで設定する

agents.useConfigMapに任意の文字列
agents.customAgentConfig.logs_config.tagger_warmup_durationに秒数

これでdatadog.yamlに設定が書かれて置かれる

mikutasmikutas

DD_LOGS_CONIFG_EXPECTED_TAGS_DURATION
DD_LOGS_CONFIG_TAGGER_WARMUP_DURATION

どっちかじゃなくて両方必要だった

前者は効果を確認できる(10mに設定中) 
後者は効果出てないかもしれない(10に設定中=10秒)

DD_TAGSでクラスター内の全員に一律付与しているタグはexpected_tags_durationによって欠けがなくなった
それでもタグの欠けがまったく起きなくなったわけではない

  • account
  • availability-zone
  • aws_autoscaling_groupname
  • region
  • security-group

などEC2由来?のタグがないログが一部ある
発生タイミングはノード起動時

このスクラップは2023/04/24にクローズされました