LoginSignup
3
3

More than 5 years have passed since last update.

Datadog APIでInfrastructure List相当のホスト一覧を取得する

Last updated at Posted at 2018-02-04

Datadogでホストの一覧を取得する場合、公式で載っているのは大体以下です。

これで取得すると、以下のような形式になります。(prettifyしています)

公式にあるホスト一覧の取得方法
curl -XGET "https://app.datadoghq.com/api/v1/search?api_key=${API_KEY}&application_key=${APP_KEY}&q=hosts:"

通常ではmetricshostsがどちらも表示されるので、q=hosts:でホストだけに絞っています。

取得結果
{
  "results": {
    "hosts": [
      "host1",
      "host2",
      "...",
    ]
  }
}

取れることは取れるのですが、本当にホストの一覧しか取れていません。もっと、ホストに紐づくタグとか…というか、画面でいうInfrastructure List(下記のイメージ)相当のものは取れないのかと思ったら、公式FAQに書いてありました。

infrastructure list

Query the Infrastructure List via the API

infrastructurelist相当のホスト一覧取得
curl -XGET "https://app.datadoghq.com/reports/v2/overview?api_key=${API_KEY}&application_key=${APP_KEY}"
取得結果
{
  "rows": [
    {
      "display_name": "host1",
      "name": "host1",
      "tags_by_source": {
        "Datadog": [
          "default"
        ],
        "Users": [
          "env:prod"
        ]
      },
      "up": true,
      "host_name": "host1",
      "has_metrics": false,
      "id": 335160838,
      "last_seen": 1517730959
    }
  ...
  ],
  "window": "3h:30m",
  "row_type": "host",
  "display_hostname_dropdown": false
}

なにげにv2のAPIなんですね。
これってFAQというより普通にAPIドキュメントに書いて欲しい気がしますが、何はともあれ欲しい情報が取れそうです。

追記

2018/2/7現在、Query the Infrastructure List via the API
の紹介にパラメータとして with_source というものがありますが、正しくは with_sources です。なので、もしこのパラメータを使いたければ &with_sources=true と指定する必要があります。公式に問い合わせているので、おそらくドキュメントが修正されると思います。

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3