はじめに

この章では、昔Datadog の使用中に発生した問題ですが、忘れないように記載します。

背景

DDagentにて取得したのname_tagの値が正しくなく、Host AにてEc2-Hostname と Instance-Idは他のサーバーHost Bの情報です。
Host Aで発生したものがDatadogのアラートにてHost Bの表記になっていました。

確認点

下記のことを確認しました:

  • /etc/datadog-agent/datadog.yamlに正確なHostnameを設定していて、問題ないこと

  • metadataの情報が問題ないこと

  • Host B側の設定も問題ないこと

正しいEc2-Hostname と Instance-Id を取得するために、datadog.yaml に以下のように強制設定し、DDagentを再起動しても、状況変わらないです。

Ec2-Hostname: ip-192-168-**-**.ap-northeast-1.compute.internal
Instance-Id: I-****************

解決方法

結論としてはプロキシの原因です。

HostAからのトラフィックが設定した旧プロキシHostBを介してプロキシされている原因を判明しました。
対応策は、事象対象HostAにて、DDagentを最新のバージョンにアップグレードしてno_proxyで修正しました。
#メタデータにno_proxyを利用するために、DDagentのバージョンは7.26以降が必要です。

修正点詳細:
DDagentのdatadog.yamlファイルの設定にて、下記のAWSメタデータエンドポイントをno_proxyリストに追加
169.254.169.254
例:
before:

proxy:
http: http://*****:3130
https: http://*****:3130

After:

proxy:
http: http://*****:3130
https: http://*****:3130
no_proxy:
- 169.254.169.254

これにより事象ホストDDagent側、及びMonitor側にname_tagの値が正しく取得できることを確認できました。