datadog.confのhostnameについて

既存の「<server-name>-01」のEC2のAMIから「<server-name>-02」を作成した時にdatadogでハマったのでメモ。

datadog.confには以下のようにAPIキーを指定する部分やhostnameを指定する部分が存在します。 datadog.confのhostnameは必須ではない(デフォルトでAgentインストールした際は設定されていない)のだが、例えば1号機のホスト名が以下のように「test-prd-01」と設定されているとこれからAMIを取得して「test-prd-02」を起動した際に、datadog.confはそのまま引き継がれるので、「test-prd-01」の部分が残ってしまいます。

▼ datadog.conf

# (default: None, the agent doesn't start without it)
api_key: XXXXXXX(→対象orgのAPIキー)

# Force the hostname to whatever you want. (default: auto-detected)
hostname: test-prd-01

そうすると、モニター作成時に既存の01サーバと02サーバのhostnameがかち合って、モニター上に表示されてこない事態が発生。
AMIから起動したけど、モニターに表示されてこない!と思った際は、ここも疑ってみるのが良いかもです。

こういう部分は初期の構築者から引き継がれていないと見逃す部分なのですが、例えきちんと引き継がれなくても引き継いだ人が困らないような設計にすべきだなとちょっと思います。

固有の設定はできる限り入れないこと。

ちなみに以下のようにstatusコマンド打った際に、Hostnamesの「hostname」部分が「01」になっていることで気づきました。

# service datadog-agent status

Hostnames

(略)
hostname: test-prd-01
(略)

忘れそうなのでメモまで。。

今日もお疲れ様でした。