新しいAWS Metric Streamsの統合により、 シングルサービス, AWS CloudWatch, があれば、すべてのAWSメトリックとカスタムネームスペースを収集してNew Relicに送信することができます。
CloudWatchのメトリクスをNew Relicにストリーミングするには。
- 最小限のパーミッションとマッピングの説明 を確認してください。
- Kinesis Data Firehoseを作成し、New Relicを指定します。
- 次に、先ほど作成したFirehoseにメトリクスを送信するために、CloudWatch Metric Streamを作成する。
- ガイド付き または マニュアル のセットアップ手順に従う。
- データ受信の検証。
AWSポーリング統合から移行する場合、 検討事項をお読みください。 。
最小限のパーミッションとマッピングの指示
サービスメタデータやカスタムタグを追加してCloudWatchのメトリクスを充実させるには、New Relicに設定されているAWSロールに、以下の最小限の権限を付与する必要があります。
config:BatchGetResourceConfigconfig:ListDiscoveredResourcestag:GetResources
New Relic UIは現在、これらの個々のアイテムに対してReadOnlyAccess
ポリシーを推奨しているため、New Relicには、AWS CloudWatchMetricStreamsでは利用できないサービスデータを収集するための適切な権限があります。
New RelicとAWSのアカウントとリージョンのマッピング
- 複数のAWSアカウントを管理している場合は、それぞれのアカウントをNew Relicに接続する必要があります。
- これらのアカウントで複数の地域を管理している場合は、各地域にNew Relicを指す異なるKinesis Data Firehoseを設定する必要があります。
- 通常、1つのNew Relicアカウントに1つまたは複数のAWSアカウントをマッピングします。
CloudFormationを使ったガイド付きセットアップ
まず、それぞれのAWSアカウントとNew Relicアカウントをリンクさせる必要があります。そのためには、以下の通りです。
- one.newrelic.com > Infrastructure> AWS をクリックし、 Add an AWS account をクリックし、 Use metric streams をクリックし、手順に従ってください。
- NerdGraph でこのステップを自動化することもできます。
次に、UIの最後のステップで提供した CloudFormationテンプレート を使用して、メトリックストリームをセットアップします。このテンプレートは、1つのリージョンで統合をセットアップするためのベースとして提供されていますが、お客様の要件に応じてカスタマイズや拡張が可能です。
AWSコンソール、API、またはコールを使用した手動設定
- Create a Kinesis Data Firehose Delivery Stream 、以下の宛先パラメータを設定します。
ソースダイレクトPUTまたはその他のソース
データ変換。使用不可
記録フォーマットの変換。無効
目的地New Relic
以下の設定が定義されていることを確認してください。
New Relicの設定(Destination Settings)
- HTTPエンドポイントURL-米国のデータセンター:
https://aws-api.newrelic.com/cloudwatch-metrics/v1
- HTTPエンドポイントURL-EUデータセンター:
https://aws-api.eu01.nr-data.net/cloudwatch-metrics/v1
- APIキーを入力します。 ライセンスキーを入力してください。
- コンテンツエンコーディング:
GZIP
- 再試行期間:
60
- HTTPエンドポイントURL-米国のデータセンター:
S3バックアップモード。失敗したデータのみ
S3バケット:送信に失敗したメトリクスを保存するバケットを選択するか、新しいバケットを作成します。
New Relicのバッファ条件
- バッファサイズ:
1 MB
- バッファ間隔:
60 (seconds)
- バッファサイズ:
パーミッション IAMロール
- IAMロールの作成または更新
- メトリクス・ストリームの作成.
AWSコンソールでCloudWatchサービスにアクセスし、Metricsメニューの Streams オプションを選択します。
Create metric stream」をクリックします。
ユースケースに応じて適切な構成を決定します。
- どのサービスがNew Relicにメトリクスをプッシュすべきかを選択するには、包含フィルターと除外フィルターを使用します。
- Kinesis Data Firehoseを選択します。
- ストリームの意味のある名前を定義します(例:newrelic-metric-stream)。
デフォルトの出力形式を
Open Telemetry 0.7
に変更します(JSONはサポートされていません)メトリクスストリームの作成を確認します。
また、CloudFormationテンプレート、API、またはCLIを使用してCloudWatchメトリック・ストリームを作成するための手順が、AWSのドキュメントに記載されています。
- 新しい AWS アカウント を New Relic UI の Metric streams モードで追加します。 one.newrelic.com > Infrastructure> AWS をクリックし、 Add an AWS account をクリックし、 Use metric streams をクリックし、手順に従います。
データが正しく受信されているかどうかの確認
Metric Streamsからデータを受信していることを確認するには、以下の手順に従ってください。
- one.newrelic.com > Infrastructure> AWS にアクセスし、 Stream のアカウントを検索してください。
- を確認することができます。
- アカウントステータスのダッシュボード。メトリクスデータが受信されていることを確認するのに便利です(エラー、取り込まれたネームスペース/メトリクスの数、など)。
- データを探索する。データエクスプローラーを使用して、特定のメトリクスのセットを検索したり、特定のメトリクスで利用可能なすべてのディメンションにアクセスしたりすることができます。
New Relic Oneで新しいリソースが検出され、エンティティとして合成されるまで、数分かかる場合があります。詳細については、クラウド統合システムの制限を参照してください。
ヒント
AWS S3やAWS BillingなどのグローバルサービスのAWS CloudWatchメトリクスは、 us-east-1 リージョンでのみ利用可能です。そのリージョンにアクティブなCloudWatchメトリックストリームが設定されていることを確認してください。
クエリ、メトリックの保存、マッピング
AWS CloudWatchからのメトリクスは、タイプsummary
のディメンションメトリクスとして保存され、 NRQLを使用してクエリできます。
我々は、現在のクラウド統合から、AWS Metric Streamsから来る新しいマッピングにメトリックをマッピングしました。現在のメトリックの名前を使い続けることができ、クエリは引き続き動作し、AWS Metric Streamsと現在のクラウド統合からデータを選択することができます。
現在のクラウド統合のメトリクスと新しいメトリクスの名称 への対応については、ドキュメントをご確認ください。
メトリクスストリームから送られてくるすべてのメトリクスは、これらの属性を持ちます。
aws.MetricStreamArn
collector.name = ‘cloudwatch-metric-streams’
。
New Relic ExplorerにおけるAWSネームスペースのエンティティ
New Relic エンティティ を、最も使用されている AWS の名前空間に合わせて生成しており、今後もより多くの名前空間に対応していく予定です。
名前空間のNew Relicエンティティを生成すると、次のようなことが期待できます。
- それらのエンティティを New Relic Explorer でブラウズします。
- これらのエンティティのためのすぐに使えるエンティティダッシュボードにアクセスできます。
- AWSタグで装飾された名前空間からメトリクスとエンティティを取得します。 AWSタグを収集するには、UIのセットアッププロセスの一部である
tag:GetResources
権限をNewRelicに付与している必要があります。 AWSタグはメトリクスにtag.AWSTagName
として表示されます;たとえば、リソースにTeam AWSタグを設定した場合、それはtag.Team
として表示されます。 - エクスプローラーに搭載されているすべての機能を活用できます。
重要
Lookout view in Entity Explorer は、現時点ではAWS Metric Streamsの統合から作成されたエンティティとの互換性はありません。
アラート条件の設定
メトリック・ストリームからのメトリクスに対してNRQLアラート条件を作成することができます。フィルタがデータをCloudWatchメトリック・ストリームからのメトリクスのみに制限することを確認してください。そのためには、以下のようにクエリを構成します。
SELECT sum(aws.s3.5xxErrors) FROM Metric WHERE collector.name = 'cloudwatch-metric-streams' FACET aws.accountId, aws.s3.BucketName
次に、アラートがデータを正しく処理するために、高度なシグナル設定を行います。これらの設定が必要なのは、AWS CloudWatchがサービスからのメトリクスを一定の遅延で受け取るためです(例えば、AmazonはEC2のメトリクスの90%が生成されてから7分以内にCloudWatchで利用できることを保証しています)。さらに、AWSからNew Relicにメトリクスをストリーミングすると、最大で1分の追加遅延が発生しますが、これは主にFirehoseでのデータのバッファリングによるものです。
信号設定を行うには、 Condition Settings で、 Advanced Signal Settings をクリックし、以下の値を入力します。
- アグリゲーションウィンドウ.1分に設定することをお勧めします。アラートのフラッピングやアラートがトリガーされないなどの問題がある場合は、2分に設定することを検討してください。
- によるオフセット評価。サービスによっては、CloudWatchが一定の遅延でメトリクスを送信する場合があります。値はウィンドウで設定されます。 1分の集計ウィンドウで、オフセットを8に設定すると、メトリックの大部分が正しく評価されます。 AWSとFirehoseによって導入された遅延が少ない場合は、より低いオフセットを使用できる可能性があります。
- データのギャップを。で埋めます。これを無効のままにするか、AWSからのデータのギャップが誤検知または誤検知につながる場合は、最後の既知の値を使用します。
詳細については、NRQLアラートの作成方法に関するドキュメント をご覧ください。
タグコレクション [#tags-collection]
New Relic は、AWS CloudWatch メトリックストリームから送られてくるメトリクスのディメンションを強化します。リソースタグとカスタムタグは、ほとんどのサービスから自動的に引き出され、追加のディメンションでメトリクスを装飾するために使用されます。 データエクスプローラー を使用して、各 AWS メトリックでどのタグが利用できるかを確認できます。
次のクエリは、タグを収集し、メトリクスのディメンションとしてクエリを実行する例を示しています。
SELECT average(`aws.rds.CPUUtilization`) FROM Metric FACET `tags.mycustomtag` SINCE 30 MINUTES AGO TIMESERIES
なお、すべてのメトリクスがカスタムタグをディメンションとして持っているわけではありません。現在のところ、 New Relic Explorer のエンティティにリンクされたメトリクスのみ、カスタムタグが関連付けられています。AWS CloudWatch のメトリックストリームには、ストリームメッセージの一部としてタグが含まれていないため、New Relic 側で追加の処理が必要となります。
メタデータの収集
カスタムタグと同様に、New RelicはAWS CloudWatchのメトリクスをAWS Services APIから収集したエンリッチドメタデータで装飾するために、関連するAWSサービスからメタデータ情報を引き出します。このメタデータは、AWS CloudWatchが提供するメトリクスの追加ディメンションとしてNew Relicでアクセスできる。これは、CloudWatch Metric Streamsの統合を補完するオプションの機能です。
このソリューションは、 AWS Config に依存しており、お客様のAWSアカウントに追加コストが発生する可能性があります。 AWS Config は、どのサービスやリソースを記録するかを決定するために、 粒度の高いコントロールを提供します。New Relic は、お客様の AWS アカウントで利用可能なリソースからのみメタデータを取り込みます。
EC2
ラムダ
RDS
ALB/NLB
S3
APIゲートウェイ(API v1を除く)
ELB
EBS
DynamoDB
ECS
インフラストラクチャエージェントのメトリクスとEC2メタデータの装飾 [#infra-data-decoration]
キュレーションされたダッシュボード [#curated-dashboards]
最も一般的な AWS サービスのダッシュボード一式は、New Relic Instant Observability で入手できます。
ダッシュボードのインポート方法
ダッシュボードをブラウズしてインポートするには、以下の手順に従ってください。
- New Relic One のトップバーから Instant Observability をクリックします。
- AWS SQS, AWS RDS, AWS ELB, AWS EC2 のように、任意のAWSサービス名を検索します。
- AWSサービスタイルにアクセスします。
- Install this quickstarts をクリックし、アカウントを選択します。
- Done をクリックして、AWS メトリックストリームがすでに設定されていることを確認します。
- ダッシュボードを閲覧し、ニーズに合わせて調整することができます。
興味深いダッシュボードをコミュニティと共有しませんか?Instant ObservabilityのGithubリポジトリにある、 contribution guidelines をご覧ください。
カスタムメトリックとパーセンタイル
CloudWatchメトリクスストリーム統合は、カスタムメトリクスやパーセンタイルなど、ストリームに設定された新しいメトリクスを自動的に取り込みます。
カスタムメトリック
CloudWatchカスタムメトリクスを取り込むには、カスタムネームスペースがCloudWatchメトリクスストリームコンフィギュレーションに表示され、包含ルールまたは除外ルールによってフィルタリングされていないことを確認してください。
パーセンタイル
AWS CloudWatchを使用すると、パーセンタイルなどの追加の統計を定義できます。
次の手順に従って、CloudWatchストリームで利用可能なすべてのメトリクスにパーセンタイルを追加します。
AWSで、CloudWatchストリーム設定を(API、CLI、またはAWSコンソールを介して)
StatisticConfiguration
設定で必要なパーセンタイルで更新します。たとえば、p90、p95、およびp99パーセンタイルをELB latency metric (aws.elb.Latency)
に追加できます。数分後、新しい統計がストリームで利用可能になり、NewRelicによって取り込まれるはずです。パーセンタイルは、次の命名規則を使用して照会できます。
From Metric select max(aws.elb.Latency.p99) where collector.name = 'cloudwatch-metric-streams' timeseriesAWSは、パーセンタイルを超えるストリーム内の他の統計をサポートしていますが、それらはOpen Telemetryエクスポート形式(JSONのみ)では利用できず、現在NewRelicではサポートされていません。
価格設定、制限、事前設定の詳細については、 AWSのドキュメントをご覧ください。
データの管理
New Relic では、お客様のアカウントに取り込まれているデータを追跡するために、 一連のツールを提供しています。 設定メニューの「Manage your data 」ですべての詳細を確認できます。AWS Metric Streams の統合から取り込まれたメトリクスは、 Metric バケットで考慮されます。
FROM Metric SELECT bytecountestimate() where collector.name='cloudwatch-metric-streams' since 30 day ago
インジェストされるデータをコントロールするために、次のような対応をお勧めします。
- New Relicで監視したいAWSアカウントとリージョンでのみメトリックストリームが有効になっていることを確認します。 CloudWatch Metric Streamの包含および除外フィルターを使用して、収集されるサービス/ネームスペースを選択します。
- drop data rules を使用して、カスタムフィルタに基づいてメトリクスを廃棄することを検討してください(たとえば、名前空間とタグ、タグの値、またはその他の有効な NRQL 基準によってメトリクスをドロップします)。
重要
AWS Metric Streams を介して送信されたメトリクスは、データが取り込まれる New Relic アカウントの Metric API 制限にカウントされます。