• ログイン無料アカウント

本書は、お客様のご参考のために原文の英語版を機械翻訳したものです。

英語版と齟齬がある場合、英語版の定めが優先するものとします。より詳しい情報については、本リンクをご参照ください。

問題を作成する

Amazon RDS Enhanced Monitoringの統合

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の統合を有効にします。

  1. Enable RDS Enhanced Monitoringが必要なRDSインスタンスを指定します。インスタンスの作成または変更時に指定できます。 Monitoring の下で、 Enable Enhanced MonitoringYes を設定します。data Granularity を 15 秒に設定することをお勧めします。
  2. 強化されたモニタリングが有効になると、AWS CloudWatch Logsに RDSOSMetrics というストリームが作成されます。強化されたモニタリングのメトリクスは、このストリームを介して利用できます。以下の手順でラムダ関数を作成し、そのストリームにサブスクライブしてデータを取得します。
  3. Serverless Repository から新しい AWS Lambda 関数を作成します。 **Lambda> Create Function> Browse serverless App repository 、Show apps that create custom IAM roles or resource policies** のボックスをチェックし、 NewRelic-log-ingestion を検索します。
  4. LICENSE_KEY 環境変数に New Relic アカウント ライセンスキー を入力してください。
  5. すべてのオプションのパラメータを確認し、ユースケースに基づいて適合させる。
  6. Deploy を選択して、新しい CloudFormation スタック、 newrelic-log-ingestion という新しい関数、そして必要なロールを作成します。
  7. newrelic-log-ingestion 機能に移動します。
  8. 引き続き、 ストリームログをLambda関数 に流す手順を行います。

ヒント

newrelic-log-ingestion 関数には、(AWS が推奨する)最小限の権限を含む AWSLambdaBasicExecutionRole ポリシーが必要です。カスタムIAMロール名はインストール時に定義でき、そうでなければ、適切なRoleが作成され、CAPABILITY_IAMが認められる必要があります。

ラムダ関数にログを流す

RDSOSMetrics のログストリームをLambda関数にリンクさせること(JSON形式)。

  1. From AWS Console> CloudWatch> Logs, select RDSOSMetrics log group, and apply Actions> Create Lambda subscription filter.
  2. ラムダ関数 に対して、 newrelic-log-ingestion を選択します。
  3. Log Format ドロップダウンから、 JSON を、 Log format を選択します。
  4. Subscription フィルタ名 を入力します。
  5. 下部にある「 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インスタンスのデータベースエンジン。

instanceId

DBインスタンスの識別子です。

instanceResourceId

DBインスタンスのリージョン固有の不変的な識別子で、ログストリームの識別子としても使用されます。

numVCpus

DBインスタンスの仮想CPUの数です。

タイムスタンプ

メトリクスが撮影された時間。

アップタイム

DBインスタンスがアクティブになっている時間です。

バージョン

OSメトリクスのストリームJSON形式のバージョンです。

cpuUtilization

ゲスト

ゲストプログラムが使用しているCPUの割合。

アイドル

アイドル状態のCPUの割合。

irq

ソフトウェア割り込みで使用されているCPUの割合。

ナイス

最も低い優先度で動作しているプログラムが使用しているCPUの割合。

スティール

他の仮想マシンが使用しているCPUの割合。

システム

カーネルが使用しているCPUの割合。

トータル

使用中のCPUの合計割合。この値はniceの値を除く。

ユーザー

ユーザープログラムが使用しているCPUの割合。

待つ

I/Oアクセスを待っている間に使用されていないCPUの割合。

diskIO (Amazon Auroraでは利用できません。)

avgQueueLen

I/Oデバイスのキューで待っているリクエストの数。

avgReqSz

平均リクエストサイズ(単位:キロバイト)。

アウェイト

リクエストへの応答に必要なミリ秒数で、キュータイムやサービスタイムを含みます。

デバイス

使用しているディスク装置の識別子です。

readIOsPS

1秒あたりの読み取り操作の回数。

readKb

読み込んだ総キロバイト数。

readKbPS

1秒間に読み込まれるキロバイト数。

rrqmPS

1秒間にキューイングされたマージされた読み取り要求の数。

tps

1秒あたりのI/Oトランザクションの数です。

ユーティル

リクエストが発行されたCPU時間の割合。

writeIOsPS

1秒あたりの書き込み操作の回数です。

writeKb

書き込まれた総キロバイト数。

writeKbPS

1秒間に書き込まれるキロバイトの数。

wrqmPS

1秒間にキューイングされたマージされた書き込み要求の数です。

ファイルシス

maxFiles

ファイルシステムに作成できるファイルの最大数。

トータル

ファイルシステムで利用可能なディスクの総容量をキロバイト単位で表したものです。

中古

ファイルシステム内のファイルが使用するディスク容量をキロバイト単位で表したもの。

usedFilePercent

利用可能なファイルのうち、使用されている割合です。

使用済みファイル

ファイルシステム内のファイルの数です。

usedPercent

ファイルシステムのディスク使用量の割合。

loadAverageMinute

フィフティーン

過去15分間にCPU時間を要求したプロセスの数。

ファイブ

過去5分間にCPU時間を要求したプロセスの数。

一つ

過去1分間にCPU時間を要求したプロセスの数。

メモリ

アクティブ

割り当てられたメモリーの量(単位:キロバイト)。

バッファ

ストレージデバイスへの書き込み前にI/O要求をバッファリングするために使用されるメモリの量をキロバイト単位で表したもの。

キャッシュ

ファイルシステムベースのI/Oをキャッシュするために使用されるメモリの量です。

汚い

RAM内で変更されたが、ストレージ内の関連データブロックに書き込まれていないメモリページの量(単位:キロバイト)。

フリー

割り当てられていないメモリの量をキロバイト単位で表します。

hugePagesFree

空いている巨大ページの数です。巨大ページは、Linuxカーネルの機能です。

hugePagesRsvd

コミットされた巨大なページの数です。

巨大なページサイズ

巨大なページ単位のサイズをキロバイト単位で指定します。

膨大なページ数のサープ

トータルで見たときに、利用可能な余剰の巨大なページの数。

hugePagesTotal

システムの巨大なページの合計数です。

インアクティブ

最も使用頻度の低いメモリページの量をキロバイト単位で表したものです。

マップされた

プロセスのアドレス空間内にメモリーマップされているファイルシステムコンテンツの総量をキロバイト単位で表したもの。

ページテーブル

ページテーブルが使用するメモリの量をキロバイト単位で表します。

スラブ

再利用可能なカーネルデータ構造の量(単位:キロバイト)。

トータル

メモリの総量(単位:キロバイト)。

ライトバック

nキロバイトの量です。

ネットワーク

rx

1秒あたりの受信バイト数。

tx

1秒間にアップロードされるバイト数です。

プロセス

cpuUsedPc

プロセスが使用しているCPUの割合。

rss

プロセスに割り当てられたRAMの量(単位:キロバイト)。

メモリ使用済みPc

プロセスが使用しているメモリの量をキロバイト単位で表します。

プロセス名

プロセスの名前です。

スワップ

キャッシュ

キャッシュメモリとして使用されるスワップメモリの量(単位:キロバイト)。

フリー

スワップメモリーの空き容量をキロバイト単位で表示します。

トータル

利用可能なスワップメモリーの総量(単位:キロバイト)。

タスク

ブロック

ブロックされているタスクの数です。

ランニング

実行中のタスクの数です。

スリーピング

眠っているタスクの数です。

を停止しました。

停止しているタスクの数です。

トータル

タスクの総数です。

ゾンビ

アクティブな親タスクに対して非アクティブな子タスクの数。

MS SQLのメトリックデータ

グループ

メトリクス

説明

ディスク

トータルKb

ディスクの総容量(単位:キロバイト)。

中古Kb

ディスク上で使用されている容量をキロバイト単位で表示します。

中古Pc

ディスクの使用容量の割合です。

AvailKb

ディスクの空き容量(単位:キロバイト)。

availPc

ディスクの空き容量の割合です。

rdCountPS

1秒あたりの読み込み操作回数

rdBytesPS

1秒間に読まれたバイト数です。

wrCountPS

1秒あたりの書き込み操作の回数です。

wBytesPS

1秒間に書き込まれるバイト数。

メモリ

commitToKb

ページファイルでバックアップされた仮想アドレス空間の使用量、つまり現在のコミットチャージです。この値は、メインメモリ(RAM)とディスク(ページファイル)で構成されています。

コミットリミットKb

commitTotKbメトリックの最大可能値。この値は、現在のページファイルのサイズと、ページング可能なコンテンツに使用できる物理メモリ(ページング不可能な領域に割り当てられているRAMを除く)の合計です。

commitPeakKb

オペレーティングシステムを最後に起動してからのcommitTotKbメトリックの最大値。

カーントットケーブ

ページングされたカーネルプールと、ページングされていないカーネルプールのメモリの合計(単位:キロバイト)。

kernPagedKb

ページングされたカーネルプールのメモリ量(単位:キロバイト)。

kernNonpagedKb

ページングされていないカーネルプールのメモリ量(単位:キロバイト)です。

ページサイズ

1ページのサイズをバイト単位で表します。

physicotkb

物理的なメモリの量をキロバイト単位で表します。

physicAvailKb

利用可能な物理メモリの容量(単位:キロバイト)。

sqlServerTotKb

Microsoft SQL Serverにコミットされているメモリの量をキロバイト単位で表しています。

sysCacheKb

システムキャッシュメモリの容量(単位:キロバイト)。

ネットワーク

rdBytesPS

1秒あたりの受信バイト数。

wrBytesPS

1秒あたりの送信バイト数です。

プロセス

cpuUsedPc

プロセスが使用しているCPUの割合。

memUsedPc

プロセスが使用しているメモリの量をキロバイト単位で表します。

プロセス名

プロセスの名前です。

ワーキングセットKb

プライベートワーキングセットのメモリ量に、プロセスが使用中で他のプロセスと共有可能なメモリ量を加えたもので、単位はキロバイトです。

ワーキングセットプリブKb

プロセスが使用しているが、他のプロセスと共有できないメモリの量をキロバイト単位で表したもの。

ワーキングセットシェアラブルKb

プロセスが使用中で、他のプロセスと共有可能なメモリの量をキロバイト単位で表したもの。

virtKb

プロセスが使用している仮想アドレス空間の量(単位:キロバイト)。仮想アドレス空間の使用は、必ずしもディスクやメインメモリのページの使用を意味するものではありません。

システム

ハンドル

システムが使用しているハンドルの数です。

プロセス

システム上で動作しているプロセスの数。

スレッド

システム上で動作しているスレッドの数。

定義

用語

説明

イベントタイプ

DataStoreSample

プロバイダー

RdsDbInstance

プロセス

Enhanced Monitoringでは、RDSインスタンスに関連する以下のプロセスを監視することができます。

  • RDS Process: RDS管理エージェント、診断監視プロセス、およびRDS DBインスタンスのサポートに必要な他のAWSプロセスが使用するリソースの概要を表示します。
  • RDS Child Process: RDS Processes の下に入れ子になっており、DB インスタンスをサポートする RDS プロセスの概要が表示されます。例えば、 aurora は Amazon Aurora DB クラスタ用、 mysqld は MySQL DB インスタンス用です。
  • OS Processes: カーネルやシステムプロセスの概要を表示します。一般的にパフォーマンスへの影響はほとんどありません。
Copyright © 2022 New Relic株式会社。