継続は力なり

タイトル通り定期的な更新を心掛けるブログです。

CloudWatch Metrics Streams を使って Datadog に選択したメトリクスを送る

タダです.

Datadog の AWS インテグレーションでメトリクスを収集することをやっていたのですが,SageMaker のエンドポイントを収集できない課題があり,カスタムメトリクスを使っていました.ただ,CloudWatch の GetMetricData API のコストが高くなっているため CloudWatch Metrics Stream を検証してみることにしました.その内容をこの記事でまとめます.

CloudWatch Metric Streams について

CloudWatch Metric Streams は CloudWatch メトリクスを Kinesis Firehose を使って監視 SaaS 側に送る機能です.Datadog も送信先 SaaS で使えます.

aws.amazon.com

CloudWatch Metric Streams に変更によるメリット

CloudWatch Metric Streams に変更することで得られるメリットとしては次のポイントがあります.

  • コストが抑えられる
    • GetMetricData API は1000リクエスト毎に $0.01 なんですが,CloudWatch Metric Streams を使うと1000リクエスト毎に $0.003 なのでコストが抑えられます
    • とはいえ,Kinesis Firehose の料金もかかるのでそのコスト
  • メトリクスの収集間隔を早められる
    • GetMetricData API は10分毎に更新されて届くところ,CloudWatch Metric Streams を使うと2~3分と短くなるため間隔を短くして収集したいメトリクスに使うのが良いでしょう

Datadog は、より低いレイテンシーが最も必要な AWS サービス、リージョン、アカウントにメトリクスストリームを使用することを優先することをお勧めします

docs.datadoghq.com

CloudWatch Metric Sreams を使って Datadog にメトリクスを送る

ドキュメントに記載の通りに Kinesis Firehose と CloudWatch Metric Streams を設定すれば Datadog にメトリクスが送られます.Datadog の Metrics Explorer で調べると metricstreamarn というタグが追加されているのと,加えてカスタムメトリクスで使っているメトリクスを使えたので,モニター修正しなくても良かったです.

まとめ

CloudWatch Metric Streams を使って Datadog に送るところをを設定してみたので記事にしてみました.