Kinesis Data Firehose を使用した AWS CloudWatch メトリクスストリーム

Kinesis Data Firehose を使用した AWS CloudWatch メトリクスストリーム

Kinesis Data Firehose を使用した AWS CloudWatch メトリクスストリームは、Datadog for Government サイトではサポートされていません。

Kinesis Data Firehose を使用した AWS CloudWatch メトリクスストリームは、Datadog US3 サイトではサポートされていません。

Amazon CloudWatch メトリクスストリームと Amazon Kinesis Data Firehose を使用すると、CloudWatch メトリクスを 2〜3 分のレイテンシーでより速く Datadog に取り込むことができます。これは、10 分ごとに更新されたメトリクスを提供する Datadog の API ポーリングアプローチよりも大幅に高速です。

概要

  1. メトリクスをストリーミングする各 AWS アカウントとリージョンにこれらの AWS リソースを作成します。
    • メトリクスの配信に失敗した場合の S3 バックアップとともに、メトリクスを Datadog に配信する Kinesis Data Firehose 配信ストリームを作成します。
    • 配信ストリームにリンクされた CloudWatch メトリクスストリームを作成します。
    • オプションで、メトリクスをストリーミングするためのネームスペースの限定されたセットを指定します。
  2. これらのリソースを作成すると、Datadog はストリーミングされたメトリクスの受信をすぐに開始し、追加のコンフィギュレーションを必要とせずにそれらを Datadog アプリケーションに表示します。
    • : AWS インテグレーションタイルのネームスペースごとのデフォルトとアカウントレベルの設定は、API ポーリングアプローチにのみ適用されます。AWS アカウントの CloudWatch メトリクスストリーム設定を使用して、ストリームにネームスペースを含めたり除外したりするためのすべてのルールを管理します。
    • API ポーリングメソッドを介して、指定の CloudWatch ネームスペースをすでに受信している場合、Datadog でこれが自動的に検出され、ストリーミング中であるためそのネームスペースのメトリクスのポーリングを停止します。サポートされるメトリクスに記載されているとおり、これにより、収集された特定のメトリクス名の一部に違いが出る場合があります。
    • 後でメトリクスをストリーミングしてストリームを削除したり、ネームスペースを削除したりしないことにした場合、Datadog は、AWS インテグレーションタイルのコンフィギュレーション設定に従って、API ポーリングを使用してこれらのメトリクスの収集を自動的に開始します。

サポートされるメトリクス

API ポーリングを使用して Datadog がサポートする、ほとんどすべての CloudWatch のネームスペースおよびメトリクスは、Metric Streams でもサポートされます。ただし、一部例外があります。

現在、以下の CloudWatch メトリクスはサポートされていません。

  1. パーセンタイル統計用のメトリクス(p90、p95、p99 など)。CloudWatch Metric Streams は、現在パーセンタイル統計のストリーミングをサポートしていません。
  2. 2 時間以上前のタイムスタンプがあるメトリクス。これには、S3 デイリーストレージや一部の請求メトリクスも含まれます。

課金

メトリクスをストリーミングするための Datadog からの追加料金はありません。

AWS は、CloudWatch メトリクスストリームのメトリクスアップデートの数と Kinesis Data Firehose に送信されたデータボリュームに基づいて課金します。ストリーミングしているメトリクスのサブセットの CloudWatch コストが増加する可能性があるため、Datadog は、より低いレイテンシーが最も必要な AWS サービス、リージョン、アカウントにメトリクスストリームを使用することを優先することをお勧めします。詳細については、Amazon の価格設定ドキュメントを参照してください。

ストリーム内の EC2 または Lambda メトリクスは、請求対象のホストと Lambda 呼び出しの数を増やす可能性があります (EC2 の場合、これらのホストと関数が AWS インテグレーションまたは Datadog Agent でまだ監視されていない場合)。

セットアップ

はじめに

まだ接続していない場合は、AWS アカウントを Datadog に接続します。詳細については、CloudFormation のセットアップ手順を参照してください。

インストール

複数の AWS リージョンを使用している場合は自動的かつ簡単になるため、Datadog では CloudFormation の使用をお勧めします。

  1. Datadog アプリケーションで、AWS インテグレーションタイルConfiguration タブに移動します。
  2. AWS アカウントをクリックして、メトリクスストリーミングを設定します。
  3. Metric Collection の下で、CloudWatch Metric Streams タブをクリックします。
  1. Automatically Using CloudFormation をクリックして、AWS コンソールでスタックの作成を開始します。
  2. 必須パラメータを入力します。
    • ApiKey: Datadog API キーを追加します。
    • DdSite: Datadog サイトを選択します。サイトは次のとおりです:
    • Regions: メトリクスストリーミング用に設定するリージョンのコンマ区切りのリスト。サポートされるリージョンの完全なリストについては、AWS ドキュメントを参照してください。
  3. オプションのパラメータを入力します。
    • FilterMethod: メトリクスストリーミングに含めるネームスペースのリストを含めるか除外します。
    • First/Second/Third Namespace: 含めるまたは除外するネームスペースを指定します。注: ネームスペースの値は、AWS のドキュメントのネームスペース列の値と正確に一致する必要があります。例: AWS/EC2。
  4. “I acknowledge that AWS CloudFormation might create IAM resources with custom names.” (AWS CloudFormation がカスタム名で IAM リソースを作成する可能性があることを認めます) という確認ボックスをオンにします。
  5. Create Stack をクリックします。

結果

スタックが正常に作成されたら、Datadog がこれを認識するまで 5 分間待ちます。次に、Datadog の AWS インテグレーションタイルに移動し、指定した AWS アカウントの “CloudWatch Metric Streams” タブを表示し、アクティブ化されたリージョンを確認して、これが機能していることを確認します。

AWS コンソールを使用してメトリクスストリームを設定する場合は、AWS リージョンごとに次の手順に従います。

  1. 次の仕様で新しい Kinesis Data Firehose 配信ストリームを作成します。
  • ソースには、“Direct PUT or other sources” を選択します
  • 宛先には:
    • サードパーティのサービスプロバイダーを選択: Datadog.
    • Datadog サイトに対応するメトリクスのエンドポイント URL を選択: Datadog metrics - US または Datadog metrics - EU
    • アクセスキーには、Datadog API キーを入力します。
    • 再試行時間には、60 seconds を入力します。
    • S3 バックアップには、Failed data only を選択し、バックアップに必要な S3 バケットを選択します。
  • HTTP エンドポイントバッファ条件には:
    • バッファサイズに 4MB、バッファ間隔に 60 seconds を入力します。
  • S3 バッファ条件には:
    • バッファサイズに 4MB、バッファ間隔に 60 seconds を入力します。
  • S3 圧縮には、GZIP を選択します。
  • エラーログを有効にします。
  1. 次の手順で CloudWatch メトリクスストリームを作成します。
  2. すべての CloudWatch メトリクスをストリーミングするか、“Include” または “Exclude” リストで特定のネームスペースを選択するかを選びます。
  1. ステップ 1 で作成した Firehose を選択して、メトリクスを Datadog に送信するために使用します。
  1. Kinesis Data Firehose にレコードを配置するための新しいサービスロールを作成します。
  2. 出力形式として OpenTelemetry 0.7 を選択します。
  3. メトリクスストリームに名前を付けます。
  4. Create metric stream をクリックします。

結果

メトリクスストリームリソースが正常に作成されたことを確認したら、Datadog がこれを認識するまで 5 分間待ちます。次に、Datadog AWS インテグレーションタイルに移動し、指定した AWS アカウントの “CloudWatch Metric Streams” タブを表示し、これが機能していることを確認します。

: CloudWatch API のポーリングをすでに有効にしている場合、ストリーミングへの移行により、ストリーミングしている特定のメトリクスが Datadog で二重にカウントされる短い期間 (最大 5 分) が発生する可能性があります。これは、Datadog のクローラーが実行されて CloudWatch メトリクスを送信するタイミングと、Datadog がこれらのメトリクスのストリーミングを開始したことを認識してクローラーをオフにするタイミングが異なるためです。

トラブルシューティング

Metric Streams のセットアップまたは関連リソースに関する問題の解決には、AWS のトラブルシューティングドキュメントをご確認ください。

その他の参考資料