CloudWatchのメトリクスデータをNew Relicに連携してみた

GUIでCloudWatchのメトリクスデータをNew Relicに連携して、最初の一歩を踏み出すよ!
2021.12.21

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

こんにちは!コンサル部のinomaso(@inomasosan)です。

本記事はNew Relic Advent Calendar 2021の19日目の記事です。
投稿が遅くなってすみません!

New Relic実践入門を頂いたツイートした際にAdvent Calendarのお誘いがあったので、初心者目線で何か書いてみることにしました。

今回は最初の一歩ということで、CloudWatchのメトリクスデータをNew Relicに連携を試していきます。

New Relicアカウントサインアップ

New Relicは以下の無料枠を無期限で継続利用できます。

  • 月間100GBまでのデータ取り込み
  • 全機能にアクセスできるフルアクセスユーザー1名

また、クレジットカードも登録なしで利用可能なため、気軽に検証できてありがたいですね。

やってみた

本手順はNew RelicとAWSマネージメントコンソールの画面を行き来する必要があります。

構成図

今回作成するリソースについては、AWSとNew Relicのデータ連携を超高速で実装した話に記載されている構成図がわかりやすいです。

AWS Integration の有効化

まずはNew Relicでアカウント&ログイン後に、画面右上のAdd more dataをクリックします。

AWSで検索しAmazon Web Servicesをクリックします。

Set up Amazon Web Services integrations.をクリックします。

Integration mode の選択ではAWS CloudWatchメトリクストリームが推奨されているため、Use metric streamsをクリックします。

New RelicのAWSアカウントIDと、外部ID用のNew RelicアカウントIDをコピーします。

AWSマネージメントコンソール側で、IAMロールを作成していきます。
ロールを作成をクリックし、信頼されたエンティティでAWSアカウントを選択します。
AWSアカウントID外部IDには先ほどコピーした値を貼り付けます。

New Relic側でStep2に進むと、ReadOnlyAccessポリシーのアタッチ手順が表示されますので、AWSマネージメントコンソール側で同様に対応します。

New Relic側でStep3に進むと、IAMロール名のサンプルNewRelicInfrastructure-Integrationsと、IAM RoleのARNのコピー方法が表示されます。

AWSマネージメントコンソール側でIAMロールを作成し、ARNをコピーします。

New Relic側でStep4に進むと、AWS Budget の情報連携が表示されますが、オプションなので今回はスキップします。

New Relic側でStep5に進み、New Relic側で一意となるAWSアカウント名と、IAMロールのARNを入力します。

New Relic側でStep6に進み、CloudWatchメトリックをNew Relicに連携するKinesis Data Firehose関連のリソースを、CloudFormationで作成するためにUse the CloudFormation Templateをクリックします。

基本的にはデフォルトのパラメータで良いのですが、Metric Stream Configurationは、New Relic側のAPI keysよりLicense Keyが必要となります。Copy keyLicense Keyを取得してきましょう。

あとはCloudFormationよりスタックを作成し、数分後にNew Relic側で各種メトリクスが表示されることを確認します。

トラブルシュート

いつまでたってもNew Relic側で各種メトリクスが表示されない場合は、Kinesis Data Firehoseでエラーが発生した可能性が高いです。Kinesis Data Firehoseからのメトリクス連携が失敗すると、firehose-backup-xxxxxxというS3バケットフォルダにエラーログが作成されるので確認してみましょう。

以下は、CloudFormationでKinesis Data Firehose等を作成した際に、License Key入力漏れが原因だったエラーログの抜粋です。

HttpEndpoint.DestinationException,"Delivery to the endpoint was unsuccessful. See Troubleshooting HTTP Endpoints in the Firehose documentation for more information. Response received with status code. 400

参考URL

まとめ

New Relicの最初の一歩を踏み出すことができました。 大きめの無料枠が用意されており、New Relicアカウント作成時にクレジットカードも不要なので、これを機にどんどん試していこうと思います。

この記事が、どなたかのお役に立てば幸いです。それでは!