share facebook facebook facebook twitter twitter menu hatena pocket slack

2021.05.11 TUE

CloudWatch Metric Streams使ってNew Relicにメトリクスを送ってみた

浪谷 浩一

WRITTEN BY 浪谷 浩一

2021/03/31にリリースされたCloudWatch Metric Streamsを使ってNew Relicにメトリクスデータを送ってみた。
New RelicからAPIでポーリングしてメトリクスデータを取得するよりタイムラグが少なくなり、確実性があがるとのことなので、とりあえずやってみた。

CloudWatch Metric Streamsってなんや?

CloudWatchからNew RelicなどのモニタリングSaaSに対してデータを送る機能です。

いままで

New RelicなどのモニタリングSaaSでCloudWatchのメトリクスをモニタリングする場合、いままでは設定された間隔でSaaS側からCloudWatchにGetMetric APIを叩いてデータ収集していた。

CloudWatch Metric Streamsを使うと

New RelicなどのモニタリングSaaSに対してCloudWatchからメトリックをストリームすることで、データ収集のタイムラグが大幅に改善される。

とりあえずやってみた

New Relic側の設定

  1. New RelicへログインしInfrastrucure > AWS > Add an AWS Accountをクリック
  2. Metric Streamを選択してクリック
  3. 以降は画面に表示されるとおりに設定

※AWSにIAMロールを作ったりです。
※既存のAWSインテグレーションがあるものは、IAMロールはそのまま使えます。

AWS側の設定

  1. 対象のAWSアカウントへログインしておく。
  2. 下記リンクのCFnテンプレートでスタックを作成して実行

※New Relicのライセンスキーが必要、ライセンスキーはNRで右上アカウントメニュー > API Keysで確認できる。
※Kinesisのエラー履歴を保存するS3バケット指定箇所があるが、既存バケットだとNGとなる。
https://console.aws.amazon.com/cloudformation/home?#/stacks/quickcreate?templateURL=https://nr-downloads-main.s3.amazonaws.com/cloud_integrations/aws/cloudformation/MetricStreams_CloudFormation.yml&stackName=NewRelic-Metric-Stream&param_NewRelicDatacenter=US

結果

16:29にNRQLでRDSのCPU Utilizationを確認したところ、16:26のメトリクスが記録されていた!はやい!
タイムラグは3分くらいかな。
WHERE句に下記のようなcloudwatch-metrics-streamsで取得したものという指定をすれば、従来のAPIポーリングと共存してもstreamのメトリクスのみを対象にできます。

`collector.name` = 'cloudwatch-metric-streams'

AWS利用料金

対象期間: 4/2 – 4/8の1週間
データ参照元: AWS Cost Explorer
使用コンポーネントなどにより変動しますので参考として。

CloudWatch Streams

AWS利用料金: You pay $0.003 for every 1000 metric updates
料金参考: https://aws.amazon.com/jp/blogs/aws/cloudwatch-metric-streams-send-aws-metrics-to-partners-and-to-your-apps-in-real-time/

23.81USD/1week
23.81USD * 4week = 95.24USD

ちなみに従来通りのGetMetricData APIだと…
19.93USD/1week
19.93USD * 4week = 79.72USD

Kinesis Data Firehose

AWS利用料金: 0.036USD/GBあたり
料金参考: https://aws.amazon.com/jp/kinesis/data-firehose/pricing/

0.09USD/1week
0.09USD * 4week = 0.36USD

参考

■CloudWatch Metric Streams – Send AWS Metrics to Partners and to Your Apps in Real Time
https://aws.amazon.com/jp/blogs/aws/cloudwatch-metric-streams-send-aws-metrics-to-partners-and-to-your-apps-in-real-time/

■Move Faster with New Relic One and Amazon CloudWatch Metric Streams
https://blog.newrelic.com/product-news/aws-cloudwatch-metric-streams/

元記事はこちら

CloudWatch Metric Streams使ってNew Relicにメトリクスを送ってみた

浪谷 浩一

浪谷 浩一

2017年12月入社。運用保守部隊のマネージメントやってます。大阪オフィス所属。

cloudpack

cloudpackは、Amazon EC2やAmazon S3をはじめとするAWSの各種プロダクトを利用する際の、導入・設計から運用保守を含んだフルマネージドのサービスを提供し、バックアップや24時間365日の監視/障害対応、技術的な問い合わせに対するサポートなどを行っております。
AWS上のインフラ構築およびAWSを活用したシステム開発など、案件のご相談はcloudpack.jpよりご連絡ください。