この記事のポイント:DatadogのAWS Integrationを設定した後、AWSアカウント、Region、収集対象、データが表示されるまでの時間、実際のメトリクスという5つのポイントを確認します。設定画面でどこを見ればよいか分からない人向けに、導入直後の確認手順を紹介します。
はじめに
DatadogのAWS Integrationを設定すると、Amazon EC2やElastic Load Balancing、Amazon RDSなど、AWSサービスのメトリクスをDatadogで確認できるようになります。

AWS Integrationの設定方法には、Datadogが用意したCloudFormationテンプレートを使う方法や、手動で設定する方法があります。本記事では設定方法にかかわらず、DatadogのIntegration画面にAWSアカウントを追加した後の確認を扱います。
本記事では、AWS Integrationを設定した直後に確認したいポイントを、次の5つに分けます。AWSアカウント、リージョン、収集対象という3つの設定値を確認し、データの反映を待ってから、実際のメトリクスを確かめる流れです。

なお、本記事ではAWS Integrationを新規作成する手順そのものは扱いません。AWSアカウントIDなどの値は、実際の環境に合わせて確認してください。
1:対象のAWSアカウントが追加されているか
最初に、DatadogのIntegrationsからAmazon Web Servicesを開き、設定したAWSアカウントが一覧に表示されているか確認します。
複数のAWSアカウントを連携している場合は、別のアカウントを見ていないか注意します。AWSアカウントIDや、設定時に付けた名前を使って対象を確認します。
設定したアカウントを開いたら、接続に関するエラーや警告が表示されていないかも確認します。接続済みの状態であっても、追加機能に必要な権限が不足しているなど、一部の問題が表示されることがあります。
この段階では、次の項目を確認できれば十分です。
- 設定したAWSアカウントが一覧に存在する
- AWSアカウントIDが想定した値と一致する
- 表示されたエラーや警告が、今回確認するメトリクス収集に影響するか確認した
2:収集対象のRegion(リージョン)が合っているか
次に、対象AWSアカウントのGeneralを開き、メトリクスを収集するRegion(リージョン)を確認します。
AWSリソースが存在するリージョンと、Datadogで収集対象にしたリージョンが異なると、対象サービスを有効にしていてもメトリクスは表示されません。例えば、リソースが東京リージョンにあるのに、別のリージョンだけを収集対象にしている状態です。
複数リージョンを使用している場合は、現在使っているリージョンだけでなく、監視対象として含める予定のリージョンがそろっているかを見ます。一方、利用していないリージョンまで形式的にすべて選ぶ必要はありません。どのAWSアカウントの、どのリージョンを監視対象にするかを先に決めておくと確認しやすくなります。
リージョンを追加・変更した直後は、保存しただけでデータが即時表示されるとは限りません。後述する反映時間の目安を待ってから確認します。
3:必要なAWSサービスがMetric Collectionの対象か
対象AWSアカウントのMetric Collectionを開き、どのAWSサービスのCloudWatchメトリクスを収集するか確認します。
例えばApplication Load Balancerのメトリクスを確認したい場合は、ApplicationELBが収集対象になっているかを確認します。Amazon EC2、Amazon RDS、Amazon S3なども同様に、利用するサービスが対象に含まれているかを見ます。
画面に表示されるNamespaceは、CloudWatchメトリクスをAWSサービスごとに分ける単位です。最初からすべての名称を覚える必要はありません。「どのAWSサービスのデータをDatadogで見たいか」と対応させて確認します。
Metric Collectionでは、Namespaceごとにメトリクス名のInclude/Excludeフィルターを設定できます。ここで指定するのは、CloudWatch上のメトリクス名ではなく、Datadogで表示されるメトリクス名です。例えば、Application Load Balancerの固定レスポンス数はaws.applicationelb.httpfixed_responseです。初めて確認する場合は、必要なメトリクスをフィルターで除外していないかも見ます。
次の画面では、Metric CollectionでApplicationELBを検索し、収集の有効・無効とInclude/Excludeフィルターを確認できます。警告が表示されている場合は、Issuesも確認します。画面内のAWSアカウント情報とログイン情報はマスクしています。

ここで確認するポイントは次のとおりです。
- 利用するAWSサービスがMetric Collectionの対象になっている
- 必要なメトリクスをExcludeフィルターで除外していない
- Includeフィルターを使っている場合、確認したいメトリクス名が対象に含まれている
なお、本記事で確認するのはCloudWatchメトリクスです。AWSサービスのログをDatadogへ送るには、メトリクスとは別の設定が必要です。
4:設定直後はデータが表示されるまで待つ
AWSアカウント、Region、Metric Collectionの設定に問題がなくても、設定直後はメトリクスが表示されないことがあります。
Datadogが一定間隔でCloudWatchから取得する標準のAPI pollingでは約10分、CloudWatch Metric StreamsとAmazon Data Firehoseを使ってメトリクスを継続的に送る場合は2〜3分が目安です。CloudWatch Metric Streamsを別途構成していなければ、通常は標準のAPI pollingで収集されます。
AWSサービス側の発行間隔やAWSアカウントの規模によっても変わるため、設定直後の空表示だけで失敗と判断しないようにします。設定後しばらくは、Dashboardの一部だけにデータが表示されることもあります。
AWSタグの反映には、メトリクスよりも時間がかかる場合があります。公式ドキュメントでは、AWSでタグを追加・変更してからDatadogへ反映されるまで、15分から数時間かかることがあると説明されています。
また、AWS Integrationを有効にする前のCloudWatchメトリクスはDatadogへ遡って取り込まれません。設定直後に過去24時間を表示しても、接続前の時間帯までデータが埋まるわけではありません。
確認するときは、次の順番で進めます。
- 設定を保存する
- 使用している収集方法に応じて待つ
- 現在時刻を含む時間範囲で確認する
- タグを変更した場合は、メトリクスとは別に反映を待つ
5:AWS Overview DashboardかMetrics Explorerで確認する
反映時間を待ったら、実際にAWSメトリクスが届いているか確認します。
初めて確認する場合は、Datadogが用意しているAWS Overview Dashboardを開く方法が分かりやすいです。連携したAWSサービスのデータが表示されているか、対象アカウントやRegionで絞り込んで確認します。
特定のAWSサービスを確認したい場合は、Metrics Explorerを使用します。最初はメトリクス名を一つ選び、細かいタグ条件を付けずにデータが表示されるか確認します。
Application Load Balancerの確認では、固定レスポンスを返す検証用のロードバランサーへアクセスし、aws.applicationelb.httpfixed_responseを表示しました。このメトリクスは、Application Load Balancerの固定レスポンスアクションが成功した回数を示します。
次の画面では、Metrics Explorerでメトリクスを選択し、実際のデータポイントが表示されることを確認しています。識別情報を掲載しないため、全体集計で表示しています。実際の確認では、対象AWSアカウントやLoad Balancerを示すタグで絞り込み、検証用リソースのデータであることも確認します。

実環境で確認するメトリクスは、ロードバランサーの使い方に合わせて選びます。ロードバランサーが受信したリクエストのうち、転送先ターゲットを選択できた数を確認する場合は、aws.applicationelb.request_countも候補になります。ただし、対象のロードバランサーにトラフィックがなければ、確認期間内にデータポイントがない場合があります。
データが表示されたら、画面上で次の内容を確認します。
- 想定したAWSアカウントのデータか
- 対象Regionのデータか
- リソース単位で表示を分けられるか
- AWSで設定したタグが反映されているか
タグやリソースを分けるキーは、AWSサービスやメトリクスによって異なります。設計時に名前を推測するのではなく、表示された実データから選びます。
データが表示されない場合に確認する場所
ここまで確認してもデータが表示されない場合は、次の順番で確認します。
| 確認先 | 確認内容 |
|---|---|
| AWS Integration画面 | 接続エラー、権限の警告、対象Region |
| Metric Collection | 対象サービス、Include/Excludeフィルター |
| AWSのCloudWatch | 対象リソースがメトリクスを発行しているか |
| Metrics Explorer | 正式なメトリクス名、時間範囲、タグ条件 |
| サービス別Integration | 対象AWSサービスのIntegrationがインストールされているか、追加権限が必要か |
| AWSのIAM | Integration Roleに必要な読み取り権限があるか |
CloudWatchにもデータポイントがない場合は、Datadog側の設定を変更しても表示されません。対象リソースが存在するか、確認時間帯に利用されたか、サービス固有のメトリクス有効化が必要かをAWS側で確認します。
CloudWatchにはデータがあるのにDatadogへ表示されない場合は、Region、Metric Collection、サービス別Integration、反映時間、IAM権限を確認します。多くのサービス別Integrationはデータが認識された後に自動でインストールされますが、対象サービスのIntegration画面に追加の設定や権限が案内されていないか確認します。
AWS Organizationsで権限を一元管理している環境では、IAM Roleだけでなく、Service Control PolicyやPermissions Boundaryの影響も管理者へ確認します。
最初から権限の詳細へ入るのではなく、アカウント、Region、収集対象、AWS側のデータという順番で確認すると、どこから調べるべきか絞りやすくなります。
最終チェックリスト
AWS Integration設定後は、次の項目を確認します。
- 設定したAWSアカウントがIntegration画面に表示されているか
- AWSアカウントIDが想定した値と一致しているか
- 監視対象のRegionが選択されているか
- 必要なAWSサービスがMetric Collectionの対象か
- Include/Excludeフィルターで必要なメトリクスを除外していないか
- 収集方法に応じた反映時間を待ったか
- AWS Overview DashboardかMetrics Explorerで実データを確認したか
まとめ
DatadogのAWS Integrationは、AWSアカウントが一覧に追加されたことだけで確認を終わらせず、Region、Metric Collection、反映時間、実際のメトリクスまで順番に確認します。
初めて設定を確認するときは、いきなり複雑な検索条件やIAM権限の調査から始める必要はありません。対象アカウント、Region、AWSサービスという設定値を確認し、一定時間待ってからAWS Overview DashboardやMetrics Explorerを開きます。
設定した値と実際に表示できたメトリクスを照らし合わせることで、「接続設定がある」だけでなく、「想定したAWSサービスのデータを確認できた」と判断しやすくなります。
最後までお読みいただき、ありがとうございました。