Datadog EC2インスタンスIDの取得
Datadog Agent でのホスト名はルールに従って決定されます。
host名を固定化している場合、datadog.conf 内で明示的に hostname: を指定している場合等には、
指定値が優先されます。
監視対象 AWS EC2インスタンスの instance-id を取得したいと思ったのですが、上記設定が入っていたため tag では保持していませんでした。
ドキュメントの Host Aliases にある通り、
Host としては hostname: の設定値となり、
Alias として instance-id を持っている状態です。
Alias
Datadog Agent の info 情報で取得できる Hostnames を保持しているようです。
Infrastructure List 画面で確認できます。
Hostnames
=========
ec2-hostname: ip-XXX-XX-XX-XXX.ap-northeast-1.compute.internal
local-ipv4: XXX-XX-XX-XXX
hostname: XX01
socket-hostname: XX01
local-hostname: ip-XXX-XX-XX-XXX.ap-northeast-1.compute.internal
instance-id: i-XXXXX77e
public-ipv4: XX.XX.XXX.XX
socket-fqdn: localhost.localdomain

JSON API permalink
Infrastructure 画面以外で Alias を取得する方法として JSON API permalink が用意されています。
画面下部からリンクURLを取得できます。
内容は Infrastructure 画面で参照できる値をJSON形式で取得できます。

尚、現時点で公式ドキュメントの記載は見つけられませんでしたので、仕様変更が入るかもしれません。 Knowledge Base に少しだけ記載があります。
インスタンスIDの取得
他のAPI同様に利用できるようなので curl コマンドでの取得を試します。 API Key、Application Key が必要になります。
EC2インスタンスの値としては以下のようになっていました。
aws_id で目的のインスタンスIDを取得できます。
$ apikey=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
$ appkey=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
$ hostname=XX01
$ curl -s -S "https://app.datadoghq.com/reports/v2/overview?api_key=${apikey}&application_key=${appkey}" \
| jq '.rows[] | select(.host_name == "'${hostname}'") | { host_name:.host_name, aws_name:.aws_name, aws_id:.aws_id }'
{
"host_name": "XX01",
"aws_name": "XXXXXXXXX-XX01",
"aws_id": "i-XXXXX77e"
}
因みに取得できる基本項目は以下です。オプション付与で他にも色々取得できるようです。 infrastructure で表示している項目は全て保持していると思われます。
オプションまとめ
基本的な取得項目
{
"rows": [
{
"display_name": "i-XXXXXXXXXXXXXXXXX",
"name": "i-XXXXXXXXXXXXXXXXX",
"tags_by_source": {
"Amazon Web Services": [
"availability-zone:ap-northeast-1a",
"iam_profile:xxxxx",
"image:ami-XXXXX2f5",
"instance-type:t2.micro",
"kernel:none",
"name:XXXXX",
"region:ap-northeast-1",
"security-group:sg-XXXXXXXX"
]
},
"up": true,
"aws_name": "XXXXX",
"host_name": "i-XXXXXXXXXXXXXXXXX",
"has_metrics": false,
"aws_id": "i-XXXXXXXXXXXXXXXXX",
"id": XXXXXXXXX,
"last_seen": 1503457664
},
・・・