はじめに
この章では、昔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の値が正しく取得できることを確認できました。