New Relic インフラストラクチャ統合 には、 拡張された Amazon RDS データ を収集するための統合が含まれています。これは、基本的な New Relic RDS 統合 を補完するもので、データベースインスタンスが実行されているオペレーティングシステムに関するリアルタイムのメトリクスが含まれています。
機能
このNew Relicの統合により、RDS Enhanced Monitoring上で監視と アラート を行うことができます。統合データやアラートを利用して、DBのプロセスを監視し、潜在的なトラブルスポットを特定したり、DBのプロファイリングを行い、レスポンスやコストの改善・最適化を図ることができます。
モニタリングの強化
重要
この統合を有効にすると、Amazon CloudWatchアカウントにいくつかの追加料金が発生します。また、いくつかの制限とCPUメトリックデータ収集の違いがありますが、これについてはAmazonの enhanced monitoring のドキュメントで説明されています。
RDS Enhanced Monitoring を有効にする前に、New Relic Amazon RDS monitoring integration を有効にしておく必要があります。 Connect AWS services to New Relic の手順が完了していることを確認してください。
New RelicはRDSのログを収集し、RDSインスタンスのほぼリアルタイムのデータを提供するためにAWS Lambdaを使用しており、この機能はAWSではRDS Enhanced Monitoringと呼ばれています。
以下の手順に従って、RDS Enhanced Monitoringの統合を有効にします。
- Enable RDS Enhanced Monitoringが必要なRDSインスタンスを指定します。インスタンスの作成または変更時に指定できます。 Monitoring の下で、 Enable Enhanced Monitoring に Yes を設定します。data Granularity を 15 秒に設定することをお勧めします。
- 強化されたモニタリングが有効になると、AWS CloudWatch Logsに
RDSOSMetrics
というストリームが作成されます。強化されたモニタリングのメトリクスは、このストリームを介して利用できます。以下の手順でラムダ関数を作成し、そのストリームにサブスクライブしてデータを取得します。 - Serverless Repository から新しい AWS Lambda 関数を作成します。 **Lambda> Create Function> Browse serverless App repository 、Show apps that create custom IAM roles or resource policies** のボックスをチェックし、
NewRelic-log-ingestion
を検索します。 LICENSE_KEY
環境変数に New Relic アカウント ライセンスキー を入力してください。- すべてのオプションのパラメータを確認し、ユースケースに基づいて適合させる。
- Deploy を選択して、新しい CloudFormation スタック、
newrelic-log-ingestion
という新しい関数、そして必要なロールを作成します。 newrelic-log-ingestion
機能に移動します。- 引き続き、 ストリームログをLambda関数 に流す手順を行います。
ヒント
newrelic-log-ingestion
関数には、(AWS が推奨する)最小限の権限を含む AWSLambdaBasicExecutionRole ポリシーが必要です。カスタムIAMロール名はインストール時に定義でき、そうでなければ、適切なRoleが作成され、CAPABILITY_IAMが認められる必要があります。
ラムダ関数にログを流す
RDSOSMetrics
のログストリームをLambda関数にリンクさせること(JSON形式)。
- From AWS Console> CloudWatch> Logs, select
RDSOSMetrics
log group, and apply Actions> Create Lambda subscription filter. - ラムダ関数 に対して、
newrelic-log-ingestion
を選択します。 - Log Format ドロップダウンから、
JSON
を、 Log format を選択します。 - Subscription フィルタ名 を入力します。
- 下部にある「 Start streaming 」ボタンをクリックして、Lambdaサブスクリプションフィルターを保存します。
完了すると、Lambda関数は、 RDSOSMetrics
からのすべてのログラインをNew Relicのインジェストサービスに送信します。
設定およびポーリング
設定オプションを使用し、ポーリングの頻度を変更し、データを絞り込むことができます。
デフォルト ポーリング Amazon RDS Enhanced Monitoring統合の情報です。
New Relicのポーリング間隔。
- 平均30秒 (CloudWatch Logs経由で収集)
- AWS Lambdaのセットアップ時に設定可能
Amazon CloudWatchのデータ間隔:1分
データの検索と使用
統合データを見つけるには、 one.newrelic.com > Infrastructure> AWS にアクセスし、 RDS> Enhanced monitoring dashboard のリンクを選択します。
provider
値がRdsDbInstance
で、 DatastoreSample
イベントタイプを使用してデータをクエリおよび探索できます。
データの利用方法については、 統合データの理解と利用 を参照してください。
メトリックデータ
New Relic は以下の拡張 RDS データを収集します。
すべてのDBエンジン(MS SQL Serverを除く)のメトリックデータ
グループ | メトリクス | 説明 |
---|---|---|
|
| DBインスタンスのデータベースエンジン。 |
| DBインスタンスの識別子です。 | |
| DBインスタンスのリージョン固有の不変的な識別子で、ログストリームの識別子としても使用されます。 | |
| DBインスタンスの仮想CPUの数です。 | |
| メトリクスが撮影された時間。 | |
| DBインスタンスがアクティブになっている時間です。 | |
| OSメトリクスのストリームJSON形式のバージョンです。 | |
|
| ゲストプログラムが使用しているCPUの割合。 |
| アイドル状態のCPUの割合。 | |
| ソフトウェア割り込みで使用されているCPUの割合。 | |
| 最も低い優先度で動作しているプログラムが使用しているCPUの割合。 | |
| 他の仮想マシンが使用しているCPUの割合。 | |
| カーネルが使用しているCPUの割合。 | |
| 使用中のCPUの合計割合。この値はniceの値を除く。 | |
| ユーザープログラムが使用しているCPUの割合。 | |
| I/Oアクセスを待っている間に使用されていないCPUの割合。 | |
|
| I/Oデバイスのキューで待っているリクエストの数。 |
| 平均リクエストサイズ(単位:キロバイト)。 | |
| リクエストへの応答に必要なミリ秒数で、キュータイムやサービスタイムを含みます。 | |
| 使用しているディスク装置の識別子です。 | |
| 1秒あたりの読み取り操作の回数。 | |
| 読み込んだ総キロバイト数。 | |
| 1秒間に読み込まれるキロバイト数。 | |
| 1秒間にキューイングされたマージされた読み取り要求の数。 | |
| 1秒あたりのI/Oトランザクションの数です。 | |
| リクエストが発行されたCPU時間の割合。 | |
| 1秒あたりの書き込み操作の回数です。 | |
| 書き込まれた総キロバイト数。 | |
| 1秒間に書き込まれるキロバイトの数。 | |
| 1秒間にキューイングされたマージされた書き込み要求の数です。 | |
|
| ファイルシステムに作成できるファイルの最大数。 |
| ファイルシステムで利用可能なディスクの総容量をキロバイト単位で表したものです。 | |
| ファイルシステム内のファイルが使用するディスク容量をキロバイト単位で表したもの。 | |
| 利用可能なファイルのうち、使用されている割合です。 | |
| ファイルシステム内のファイルの数です。 | |
| ファイルシステムのディスク使用量の割合。 | |
|
| 過去15分間にCPU時間を要求したプロセスの数。 |
| 過去5分間にCPU時間を要求したプロセスの数。 | |
| 過去1分間にCPU時間を要求したプロセスの数。 | |
|
| 割り当てられたメモリーの量(単位:キロバイト)。 |
| ストレージデバイスへの書き込み前にI/O要求をバッファリングするために使用されるメモリの量をキロバイト単位で表したもの。 | |
| ファイルシステムベースのI/Oをキャッシュするために使用されるメモリの量です。 | |
| RAM内で変更されたが、ストレージ内の関連データブロックに書き込まれていないメモリページの量(単位:キロバイト)。 | |
| 割り当てられていないメモリの量をキロバイト単位で表します。 | |
| 空いている巨大ページの数です。巨大ページは、Linuxカーネルの機能です。 | |
| コミットされた巨大なページの数です。 | |
| 巨大なページ単位のサイズをキロバイト単位で指定します。 | |
| トータルで見たときに、利用可能な余剰の巨大なページの数。 | |
| システムの巨大なページの合計数です。 | |
| 最も使用頻度の低いメモリページの量をキロバイト単位で表したものです。 | |
| プロセスのアドレス空間内にメモリーマップされているファイルシステムコンテンツの総量をキロバイト単位で表したもの。 | |
| ページテーブルが使用するメモリの量をキロバイト単位で表します。 | |
| 再利用可能なカーネルデータ構造の量(単位:キロバイト)。 | |
| メモリの総量(単位:キロバイト)。 | |
| nキロバイトの量です。 | |
|
| 1秒あたりの受信バイト数。 |
| 1秒間にアップロードされるバイト数です。 | |
|
| プロセスが使用しているCPUの割合。 |
| プロセスに割り当てられたRAMの量(単位:キロバイト)。 | |
| プロセスが使用しているメモリの量をキロバイト単位で表します。 | |
| プロセスの名前です。 | |
|
| キャッシュメモリとして使用されるスワップメモリの量(単位:キロバイト)。 |
| スワップメモリーの空き容量をキロバイト単位で表示します。 | |
| 利用可能なスワップメモリーの総量(単位:キロバイト)。 | |
|
| ブロックされているタスクの数です。 |
| 実行中のタスクの数です。 | |
| 眠っているタスクの数です。 | |
| 停止しているタスクの数です。 | |
| タスクの総数です。 | |
| アクティブな親タスクに対して非アクティブな子タスクの数。 |
MS SQLのメトリックデータ
グループ | メトリクス | 説明 |
---|---|---|
|
| ディスクの総容量(単位:キロバイト)。 |
| ディスク上で使用されている容量をキロバイト単位で表示します。 | |
| ディスクの使用容量の割合です。 | |
| ディスクの空き容量(単位:キロバイト)。 | |
| ディスクの空き容量の割合です。 | |
| 1秒あたりの読み込み操作回数 | |
| 1秒間に読まれたバイト数です。 | |
| 1秒あたりの書き込み操作の回数です。 | |
| 1秒間に書き込まれるバイト数。 | |
|
| ページファイルでバックアップされた仮想アドレス空間の使用量、つまり現在のコミットチャージです。この値は、メインメモリ(RAM)とディスク(ページファイル)で構成されています。 |
| commitTotKbメトリックの最大可能値。この値は、現在のページファイルのサイズと、ページング可能なコンテンツに使用できる物理メモリ(ページング不可能な領域に割り当てられているRAMを除く)の合計です。 | |
| オペレーティングシステムを最後に起動してからのcommitTotKbメトリックの最大値。 | |
| ページングされたカーネルプールと、ページングされていないカーネルプールのメモリの合計(単位:キロバイト)。 | |
| ページングされたカーネルプールのメモリ量(単位:キロバイト)。 | |
| ページングされていないカーネルプールのメモリ量(単位:キロバイト)です。 | |
| 1ページのサイズをバイト単位で表します。 | |
| 物理的なメモリの量をキロバイト単位で表します。 | |
| 利用可能な物理メモリの容量(単位:キロバイト)。 | |
| Microsoft SQL Serverにコミットされているメモリの量をキロバイト単位で表しています。 | |
| システムキャッシュメモリの容量(単位:キロバイト)。 | |
|
| 1秒あたりの受信バイト数。 |
| 1秒あたりの送信バイト数です。 | |
|
| プロセスが使用しているCPUの割合。 |
| プロセスが使用しているメモリの量をキロバイト単位で表します。 | |
| プロセスの名前です。 | |
| プライベートワーキングセットのメモリ量に、プロセスが使用中で他のプロセスと共有可能なメモリ量を加えたもので、単位はキロバイトです。 | |
| プロセスが使用しているが、他のプロセスと共有できないメモリの量をキロバイト単位で表したもの。 | |
| プロセスが使用中で、他のプロセスと共有可能なメモリの量をキロバイト単位で表したもの。 | |
| プロセスが使用している仮想アドレス空間の量(単位:キロバイト)。仮想アドレス空間の使用は、必ずしもディスクやメインメモリのページの使用を意味するものではありません。 | |
|
| システムが使用しているハンドルの数です。 |
| システム上で動作しているプロセスの数。 | |
| システム上で動作しているスレッドの数。 |
定義
用語 | 説明 |
---|---|
イベントタイプ |
|
プロバイダー |
|
プロセス | Enhanced Monitoringでは、RDSインスタンスに関連する以下のプロセスを監視することができます。
|