DatadogのAWSメトリクス連携方式をCloudWatch Metric Streamsへ変更してみました。


この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので十分ご注意ください。

前提

・DatadogとAWSアカウントの接続設定が完了されていること

まだ接続していない場合、下記のリンクを参照して接続してください。
DatadogでAWSインテグレーションを作成してみました。

変更前後の遅延時間の比較

変更前 (GetMetricData API) 変更後 (CloudWatch Metric Streams)
10分 1分※

※EC2メトリクスの詳細監視が有効の場合: 1分

料金の比較

変更前 (GetMetricData API)

アプリケーションが 24 時間 365 日間 (1 か月を 30 日とする) 実行し、毎分 10,000 メトリクス更新を送信し、CloudWatch メトリクスストリームが、米国東部のGetMetricData APIを介してパートナーの HTTP エンドポイントにデータを送信する場合、月額料金は以下のようになります。

月額料金 = 432,000,000 メトリクス更新 x 0.00001 USD (GetMetricDataの単価) = 4320.00 USD/1 か月あたり

変更後 (CloudWatch Metric Streams)

アプリケーションが 24 時間 365 日間 (1 か月を 30 日とする) 実行し、毎分 10,000 メトリクス更新を送信し、CloudWatch メトリクスストリームが、米国東部の Kinesis Data Firehose 配信ストリームを介してパートナーの HTTP エンドポイントにデータを送信する場合、月額料金は以下のようになります。

CloudWatch Metric Streams
メトリクス更新の合計数 = 10,000 メトリクス更新/分 x 月に 43,200 分 = 432,000,000 メトリクス更新/月
432,000,000 メトリクス更新 (1,000 メトリクス更新あたり 0.003 USD) = 1,296 USD/月
CloudWatch の月額料金 =1,296 USD/1 か月

Kinesis Data Firehose
取り込まれた Kinesis Data Firehose データ (GB/月) = 432,000,000 メトリクス更新 x 0.5KB (メトリクス更新あたりの推定平均サイズ) / 1,048,576 KB/GB = 206GB/月
米国東部での Kinesis Data Firehose 料金は、最初の 500 TB/月については取り込みデータ 1 GB あたり 0.029 USD = 206GB x $0.029 = 5.97 USD/月
Kinesis Data Firehose の料金 = 5.97 USD/1 か月

データ出力 (Kinesis Data Firehose HTTP エンドポイントからモニタリングパートナーへ)
9.999 TB/月まで 0.09 USD/GB (最初の GB は無料のため、料金計算から 1 GB 差し引きます) = 205 GB x 0.09 USD = 18.45 USD
データ出力料金 = 18.45 USD/月

合計月額料金 = 1,296 USD/月 + 5.97 USD/月 + 18.45 USD/月 = 1,320.42 USD/1 か月あたり

注: ここに示す料金の値は、米国東部 (バージニア北部) AWS リージョンに基づいています。お使いのリージョンの料金情報を、別途ご確認ください。

CloudWatch Metric Streamsへの変更手順

APIキーの控え

APIキーを控えます。
下記の画面で「APIs」をクリックします。

下記のリンクをクリックします。

APIキーを選択すると、ポップアップ画面が表示されます。

ポップアップ画面で「Copy」をクリックし、ファイルにに保存します。(後ほど使います。)

リソース作成

AWSコンソールをログインした状態で下記のリンクをブラウザに貼り付けて、Enterキーを押下します。

Datadog提供のテンプレート起動リンク(デフォルトでStackSetsが「米国東部(バージニア北部)us-east-1」で作成されます。)
https://console.aws.amazon.com/cloudformation/home?region=us-east-1#/stacks/quickcreate?stackName=DatadogMetricStreams&templateURL=https://datadog-cloudformation-stream-template.s3.amazonaws.com/aws/streams_main.yaml&param_DdSite=datadoghq.com

東京リージョンでStackSetsを作成したい場合「region」の値を変更してください。(他のリージョンも同様)
変更前:region=us-east-1
変更後:region=ap-northeast-1

今回、東京リージョンで作成するので、リージョン変更後の下記をリンクを使います。

https://console.aws.amazon.com/cloudformation/home?region=ap-northeast-1#/stacks/quickcreate?stackName=DatadogMetricStreams&templateURL=https://datadog-cloudformation-stream-template.s3.amazonaws.com/aws/streams_main.yaml&param_DdSite=datadoghq.com

CloudFormationのスタック画面が表示されます。
・初期表示

・パラメータを入力し、「スタックの作成」をクリックします。
今回、必須項目のみ入力します。
手動入力項目:
ApiKey:「APIキーの控え」で取得APIキー
Regions:ap-northeast-1,ap-northeast-3

機能:下記をチェックボックスをチェックします。
□ AWS CloudFormation によって IAM リソースがカスタム名で作成される場合があることを承認します。

デフォルトで入っている項目:
DdSite:datadoghq.com(固定、変更しないでください。)


作成後の確認

StackSetの確認

Datadogコンソールでの確認

5分後、Datadogコンソール上で確認します。

Datadogコンソール上でIntegrationsをクリックし、「amazon web」でフィルターします。

AWSのアイコンが表示され、それをクリックします。

ポップアップ画面が表示され、「CloudWatch Metric Streams」をクリックします。

「CloudWatch Metric Streams」画面に対象メトリクスが有効されていることを確認します。

CloudWatchのストリーム画面を開き、「datadog-metrics-stream」をクリックします。

「datadog-metrics-stream」が表示され、メトリクスストリーム ARNのコピーボタンをクリックします。
※メトリクスストリーム ARNを控え、後ほどDatadogコンソール上のメトリクス画面でフィルターします。

Datadogコンソール上のメトリクス画面を開き、メトリクスストリーム ARNでフィルターして、「変更後 (CloudWatch Metric Streams)」で表示されることを確認します。

注意点

Datadogが出力形式OpenTelemetry 0.7のみサポートされているので、出力形式を変更しないでください。

  • AWSが提供されている出力形式
    1.JSON
    人間が判読できる標準のオープンテキスト形式です。
    2.OpenTelemetry 0.7
    OpenTelemetry は、標準のオープンバイナリ形式です。

  • Datadogがサポートされている出力形式
    OpenTelemetry 0.7

参考

Datadog公式手順

Amazon CloudWatch の料金

メトリクスデータが表示されない場合のトラブルシューティング

Last modified: 2022-03-10

Author