標準モニタリングは、RDS for MySQL インスタンスのヘルスの統合ビューを提供します。このモニタリングは、パフォーマンストレンドを統合し、最も一般的なデータベースの問題に対応するパフォーマンストレンドチャート、自動異常検出、根本原因分析、5 つの特化した診断ビューを備えています。
標準モニタリングの機能
| 機能 | 説明 |
|---|---|
| パフォーマンスメトリクス | カスタムビューで幅広いメトリクスを利用し、追跡したいメトリクスを選択できます。 |
| 診断ビュー | メモリ OOM、読み取り専用インスタンスの遅延、ディスク領域不足、CPU ジッター、大規模トランザクション用の 5 つの事前構築済みビューを提供します。 |
| 自動診断 | インスタンスでイベントを検出し、推奨アクションを含む根本原因分析を提供します。 |
| 手動診断 | 任意の時間範囲を選択して、オンデマンド診断をトリガーできます。 |
各メトリクスのパフォーマンスパラメーターの詳細については、「パフォーマンスパラメーターテーブル」をご参照ください。
標準モニタリングデータの表示
-
ApsaraDB RDS コンソールにログインし、[インスタンス] ページに移動します。トップナビゲーションバーで、インスタンスが存在するリージョンを選択し、対象のインスタンスを見つけてその ID をクリックします。
-
左側のナビゲーションウィンドウで、[モニタリングとアラート] をクリックします。
-
[標準モニタリング] ページで、[標準ビュー] または [カスタムビュー] を選択します。
標準ビュー
[標準ビュー] タブには、選択した時間範囲の パフォーマンスイベント と パフォーマンスメトリクス が表示されます。
時間範囲は 7 日を超えることはできません。過去 30 日間のデータをクエリできます。
パフォーマンスイベントの表示
イベント統計エリアには、選択した時間範囲内のイベント数がタイプ別に表示されます。[詳細を表示] をクリックすると パフォーマンスイベントの表示 ページが開き、スケジュール済み、進行中、または完了済みの異常なアクティビティや最適化イベントを確認できます。
パフォーマンスメトリクスの表示
デフォルトの [クラシックビュー] では:
-
[その他のメトリクス] をクリックして追加のメトリクスを選択し、そのパフォーマンスの傾向を表示します。
-
メトリクス名の後にある
をクリックすると、それに含まれるサブメトリクスを確認できます。
-
いずれかの傾向グラフで [詳細] をクリックすると、ズームインして時間範囲を調整できます。
-
[傾向比較の追加] をクリックして、異なる期間にわたる同じメトリクスを比較します。

メトリクスグラフでのイベントの分析
[クラシックビュー] でイベントレベルを選択すると、対応するイベントが [MySQL の CPU/メモリ使用率] と [セッション接続数] の傾向グラフに重ねて表示されます。いずれかのイベントマーカーをクリックすると、その診断結果が表示されます。
時間範囲での診断の実行
いずれかのメトリクスの傾向グラフ上で、ドラッグして時間範囲を選択し、[診断] をクリックすると、その期間の詳細な根本原因分析を取得できます。
診断ビューの使用
5 つの診断ビューのいずれかをクリックして、特定の問題タイプを調査します:
-
[メモリ OOM 診断]
-
[読み取り専用インスタンス遅延診断]
-
[ディスク容量不足診断]
-
[CPU ジッター診断]
-
[大規模トランザクション認識診断]
各ビューのメトリクスの解釈と次のステップについては、「診断ビュー」をご参照ください。
カスタムビュー
[カスタムビュー] タブで、[モニタリングダッシュボードの追加] をクリックして、関心のあるメトリックでダッシュボードを構築します。メトリックパラメーターの詳細については、「パフォーマンスパラメーターテーブル」をご参照ください。
-
[ノードとメトリックのモニタリングを追加] をクリックして、ノードとメトリックを選択します。
-
メトリクスの表示方法を選択します。
-
[統合表示]: 選択したすべてのメトリクスが 1 つのトレンドグラフに表示されます。
-
[個別表示]:各メトリックは個別のチャートに表示されます。[チャートレイアウト] で 1 行に表示するチャート数を設定します。いずれかのチャートで [詳細] をクリックすると、ズームインして時間範囲を調整できます。
-
以前のモニタリングバージョンに戻すには、[標準モニタリング] ページの右上隅にある [旧バージョン] をクリックします。
診断ビュー
メモリ OOM 診断
[メモリ OOM 診断] ビューは、メモリ不足 (OOM) の問題を分析するのに役立ちます。主要メトリクスと、その意味は次のとおりです:
[メモリ使用量]:InnoDB バッファプールの使用量と照らし合わせて傾向を解釈してください:
| パターン | 想定される原因 |
|---|---|
| InnoDB バッファプールは変化せず、メモリが数日 (例:7 日超) かけて徐々に増加する | メモリリーク |
| メモリが急増し、InnoDB バッファプールは変化しない | トラフィックスパイク |
| メモリと InnoDB バッファプールの両方が徐々に増加する | バッファプールの蓄積 (正常な動作) |
[常駐メモリ] は、使用中の物理メモリ量を示します。[Open files]、[Temp File Size]、[Temp Disk Tables]、[Sort Rows] は、メモリ逼迫の一般的な指標です。
OOM イベントでは、スパイクを引き起こしたプロセスが終了することが多いため、事後に正確な SQL ステートメントを特定するのは困難です。事前に次の対応を行ってください:
-
メモリスパイクが発生した際にビジネスログを確認し、原因を追跡してください。
-
メモリ仕様をアップグレードし、SQL Explorer and Audit を有効化してください。これにより、スパイクが発生した際にクエリの実行時間を確認して原因を特定できます。
読み取り専用インスタンス遅延診断
[読み取り専用インスタンス遅延診断] ビューは、読み取り専用インスタンスのレプリケーションラグの診断に役立ちます。主要メトリクスは次のとおりです:
-
[アクティブセッション]:メタデータロックによるブロッキングを示します。大量のデータをスキャンするクエリにより、DDL ステートメントがメタデータロックを取得できなくなり、DDL が他のセッションをブロックして接続が蓄積します。
-
[DML Rows Processed]、[Pages Requested]、[DML/DDL Operations]、[Temp Disk Space Used]:一般的な業務ワークロードのメトリクスです。
-
[Replication Delay]:主要なレイテンシー指標です。
ディスク容量フル診断
[ディスク容量フル診断] ビューでは、どのファイルタイプがストレージを消費しているか、およびサイズが時間の経過とともにどのように変化するかを確認できます。追跡対象のストレージカテゴリは次のとおりです:
-
[Data files] (
user_data_size):容量分析 を使用してデータベースおよびテーブル別の容量使用状況を特定し、スケールアウトするか不要なデータを削除してください。詳細については、「Solutions for a full instance caused by data files」をご参照ください。 -
[Temporary files] (
temp_file_size):SQL の sort、group、join 操作中に生成されます。また、大規模トランザクションのコミット前にバイナリログキャッシュファイルとしても生成されます。詳細については、「Resolve full instance storage caused by temporary files」をご参照ください。 -
[バイナリログ] (
binlog_size):大規模トランザクションにより、バイナリログが短時間で大量に生成される場合があります。サービスがインスタンスのバイナリログをサブスクライブしている場合、ログが速やかにクリアされないことがあります。詳細については、「Resolve full instance storage caused by binary log files」をご参照ください。 -
[undo ログ] (
undo_log_size):長時間実行されているクエリにより、undo ログがパージされない場合があります。完了せずに実行され続けているクエリがないか確認してください。説明MySQL 5.6 以前では、undo ログには個別のテーブルスペースがありません。
-
[スローログ] (
slowlog_size):スローログが過剰な領域を消費している場合は、オフピーク時間帯にtruncateコマンドを実行してスローログをクリアしてください。説明truncateコマンドのサポートは、MySQL 5.7 バージョン 20210630 と MySQL 8.0 バージョン 20210930 で追加されました。 -
[一般ログ] (
general_log_size):インスタンスのエラーログ、Performance Agent ログ、およびリカバリーログの合計サイズです。この値は通常 1 GB 未満で安定しています。このしきい値を大幅に超える場合は、チケットを送信 してプロダクトチームに連絡してください。説明general_log_sizeは、MySQL カーネルによって定期的に生成されるデータを表します。MySQL のgeneral_logファイルのサイズではありません。
CPU ジッター診断
[CPU ジッター診断] ビューは、CPU 使用率が変動する原因の特定に役立ちます。次のメトリクスを追跡してください:
[Business metrics]:
-
[Page Request]:バッファプールのリクエストは通常、CPU 使用率と同期して変動します。
-
[Rows Processed]:CPU 使用率と比較し、行数の変化が CPU スパイクと相関するかどうかを判断してください。
-
[Queries]:CPU 使用率が変化している間に実行された SQL ステートメントの種類を特定してください。
[接続数]:
-
[実行中のスレッド]:高い同時実行数により CPU 使用率が上昇します。MDL のスタッキングや行ロックも接続の蓄積を引き起こし、CPU 負荷を増加させます。
一般的な原因と次の手順は次のとおりです:
-
CPU スパイクの発生時に [Page Request] または [Rows Processed] が変化していた場合は、影響を受けた時間範囲をドラッグして選択し、[診断] をクリックして詳細な根本原因分析を確認してください。
-
アクティブな接続が増加した場合は、アプリケーション側から調査し、接続急増の要因を特定してください。
大規模トランザクション診断
[大規模トランザクション診断] ビューは、大規模トランザクションとその影響の特定に役立ちます。大規模トランザクションを示す 3 つの主要メトリクスは次のとおりです:
| シグナル | 主要メトリクス |
|---|---|
| アクティブセッションが蓄積する | [Threads Connected] |
| 一時領域が増加した後に減少する | [Temp File Size] |
| 一時領域が減少した後にバイナリログ領域が増加する | [Binlog Space] |
[Rows Processed]、[Logical Page Write]、[Queries per Second] は、トランザクションの種類を示します。たとえば、クエリ数が少なく行削除数が多い場合は、大規模な DELETE 操作を示します。
大規模トランザクションがインスタンスに与える影響:
-
大規模トランザクションの実行中は、一時テーブルスペース (バイナリログキャッシュ) が徐々に増加し、その後安定します。
-
一時テーブルスペースが安定すると、バイナリログ領域が増加します。バイナリログの書き込みはグローバルにシリアルであるため、他のトランザクションがブロックされ、接続が蓄積します。
-
High-availability Edition インスタンスでは、プライマリインスタンスとセカンダリインスタンスに対する HA コンポーネントのプローブステートメントもブロックされ、プライマリ/セカンダリのフェイルオーバーが発生します。
これらの問題を防ぐには、大規模トランザクションを小さなトランザクションに分割してください。DELETE ステートメントの場合は、WHERE 句を追加して 1 回の操作で削除する行数を制限し、1 回の大規模な削除を複数回の小規模な削除に変換します。
機能
RDS for MySQL のアップグレードされた[標準モニタリング]機能は、パフォーマンストレンドを統合し、より多くの機能を提供します。
-
カスタムビュー:標準モニタリング機能は、幅広いパフォーマンスメトリクスを提供し、カスタムビューに対応しています。監視したいメトリックを選択できます。
説明各メトリックのパフォーマンスパラメーターの詳細については、「パフォーマンスパラメーター表」をご参照ください。
-
よくある問題の診断ビュー:このサービスは、問題を迅速に特定するための診断ビューをいくつか提供します。これらのビューには、[メモリ OOM 診断]、[読み取り専用インスタンス遅延診断]、[ストレージ枯渇診断]、[CPU ジッター診断]、[大規模トランザクション認識診断]が含まれます。
-
自動診断:標準モニタリング機能は、DB インスタンス 上のイベントを検出し、自動診断を実行し、根本原因分析と推奨事項を提供します。
-
手動診断:時間範囲を選択して手動診断を実行できます。
標準モニタリングデータの表示
- RDSインスタンスにアクセスし、上部のリージョンを選択し、対象のRDSインスタンスのIDをクリックします。
-
左側のナビゲーションペインで、モニターとアラーム をクリックします。
-
標準モニタリング ページで、[標準ビュー] または [カスタムビュー] を選択します。
標準ビュー
[標準ビュー] タブで時間範囲を選択すると、選択した期間のパフォーマンスイベントとパフォーマンスメトリクスを表示できます。
説明時間範囲を選択する際、開始時刻と終了時刻の間隔は 7 日を超えることはできません。 過去 30 日間のデータを表示できます。
-
[パフォーマンスイベントの表示]
イベント統計エリアでは、選択した時間範囲内の各種イベントの統計情報を表示できます。[詳細の表示] をクリックすると パフォーマンスイベントの表示 ページが開き、スケジュール済み、進行中、または完了済みのイベントを含む、異常なインスタンスアクティビティと最適化イベントに関する詳細情報を表示できます。
-
[パフォーマンスメトリクスの表示]
-
[メトリクスの表示]
デフォルトの [クラシックビュー] では、選択した時間範囲の監視メトリクスを表示できます。
-
[その他のメトリック] をクリックしてメトリックを選択し、パフォーマンストレンドを表示します。
-
各メトリクスの横にある
をクリックすると、そのメトリクスに含まれるメトリクスを表示できます。
-
メトリックトレンドグラフで[詳細]をクリックすると、ズームインして時間範囲を調整できます。
-
[Add Trend Comparison] をクリックすると、異なる期間における同じメトリックのパフォーマンスの傾向を比較できます。

-
-
[イベント分析の表示]
デフォルトの[クラシックビュー]では、イベントレベルを選択すると、対応するイベントが[MySQL CPU / メモリ使用率]と[セッション接続数]のトレンドグラフに表示されます。
トレンドグラフ内のイベントをクリックすると、イベント詳細で診断結果を表示できます。

-
[メトリクスの診断と分析]
任意のメトリックトレンドグラフで、マウスをドラッグして選択した時間範囲を[診断]できます。
-
[よくある問題の診断ビューの表示]
次の診断ビューを使用して、問題の根本原因を迅速に特定できます: [メモリ OOM 診断]、[読み取り専用インスタンス遅延診断]、[ディスク空き容量不足診断]、[CPU ジッター診断]、および[大規模トランザクション認識診断]。 詳細については、「診断ビューの使用」をご参照ください。

-
カスタムビュー
[カスタムビュー] タブで [モニタリングダッシュボードの追加] をクリックすると、監視対象メトリックの傾向を表示できます。各メトリックのパフォーマンスパラメーターの詳細については、「パフォーマンスパラメーター表」をご参照ください。
-
[ノードとメトリック監視の追加] をクリックして、ダッシュボードに追加するノードとメトリックを選択します。
-
メトリクスの表示方法を選択できます:[統合表示] または [個別表示]。
-
[統合ビュー]: 複数のメトリクスを単一のトレンドチャートに表示します。
-
[個別表示]: 各メトリックを個別のトレンドグラフに表示します。
-
[チャートレイアウト] では、1 行あたりに表示するメトリックトレンドチャートの数を設定できます。
-
メトリックの傾向グラフで[詳細]をクリックすると、ズームインして時間範囲を調整できます。
-
-
-
標準モニタリング ページで、右上隅にある 旧バージョンに戻る ボタンをクリックし、以前のモニタリングバージョンに戻します。
診断ビューの使用
メモリ OOM 診断

[メモリ OOM 診断] ビューを使用して、メモリ不足 (OOM) の問題を分析できます。
-
[メモリ使用量]:
-
InnoDB バッファプールの使用量が変化しないまま、メモリ使用量が 7 日以上など長期間にわたってゆっくりと継続的に増加する場合、メモリリークが発生している可能性があります。
-
InnoDB バッファプールの使用量が変化しないまま、メモリ使用量が突然増加する場合、トラフィックスパイクが原因である可能性があります。
-
メモリと InnoDB バッファプールの使用量が両方とも増加する場合、InnoDB バッファプールが徐々に満たされているため、これは正常です。
-
-
[常駐メモリ]:物理メモリの使用量。
-
[オープンファイル]、[一時ファイルサイズ]、[一時ディスクテーブル]、および[ソート行]は、メモリ消費量を示す一般的なメトリックです。
メモリの増加はビジネスメトリクスに関連しています。OOM が原因で、突然のメモリスパイクを引き起こした SQL ステートメントの追跡が困難になることが多いため、次のことを推奨します。
-
ビジネスログを確認して、突然のメモリ増加の原因を特定してください。
-
メモリ仕様をアップグレードし、SQL Explorer and Audit を有効にしてください。突然のメモリスパイクが発生した場合、SQL クエリの実行時間を確認して原因を特定できます。
読み取り専用インスタンスの遅延診断

[読み取り専用インスタンスの遅延診断] ビューでは、読み取り専用インスタンスの遅延を診断できます。
-
[アクティブセッション]: メタデータロックによるブロッキングを確認します。
通常、大量のデータに対するクエリにより、DDL ステートメントがメタデータロックを取得できなくなります。この場合、DDL ステートメントが他のセッションをブロックし、接続が滞留します。
-
[DML 処理行数]、[ページリクエスト数]、[DML/DDL 操作]、および[一時ディスク使用量]: 一般的なビジネスメトリックを表示します。
-
[レプリケーション遅延]: レイテンシーメトリック。
ストレージ領域不足の診断

[スペース不足問題の診断] ビューを使用して、容量不足の問題を分析できます。
インスタンスのストレージ領域を占有するファイルのタイプとその変化傾向を表示できます。次のメトリクスは、ストレージ使用量に一般的に関連しています。
-
データファイル (user_data_size):容量分析を使用して、各データベースとテーブルの領域使用量を表示し、スケールアウトするか不要なデータを削除できます。詳細については、「データファイルによるインスタンスフルの解決策」をご参照ください。
-
一時ファイル (temp_file_size):データのソートやグループ化、またはテーブルの関連付けを行う SQL ステートメントを実行すると、一時テーブルが生成される場合があります。大規模トランザクションがコミットされる前に、バイナリログキャッシュファイルが生成されます。これらのテーブルとファイルはストレージ領域を占有します。詳細については、「一時ファイルによるインスタンスストレージフルの解決」をご参照ください。
-
バイナリログ (binlog_size):大規模トランザクションは、バイナリログを迅速に生成する可能性があります。これらのログはストレージ領域を占有します。バイナリログの管理方法の詳細については、「MySQL バイナリログファイルによるインスタンスストレージフルの解決」をご参照ください。
説明サービスがデータベースのバイナリログをサブスクライブしている場合、ログが迅速にクリアされず、領域を占有する可能性があります。
-
undo ログ (undo_log_size):ほとんどの場合、長時間実行されるクエリにより、undo ログがクリアされなくなります。完了していない長時間実行されるクエリを確認できます。
説明MySQL 5.6 以前では、undo ログに個別のテーブルスペースはありません。
-
スローログ (slowlog_size):スローログが過剰な領域を使用している場合、オフピーク時に
truncateコマンドを使用してクリアできます。説明truncateコマンドのサポートは、MySQL 5.7 のバージョン 20210630 および MySQL 8.0 のバージョン 20210930 で追加されました。 -
一般ログ (general_log_size):インスタンスのエラー、Performance Agent、リカバリログの合計サイズで、通常は安定しており 1 GB 未満です。サイズがこの値を 大幅に超える 場合は、 チケットを送信して製品チームにお問い合わせください。このメトリクスは、MySQL カーネルによって定期的に生成されるデータを表しており、MySQL の general_log ファイルのサイズではありません。
CPU ジッター診断

[CPU ジッター診断] ビューを使用して CPU ジッターの問題を分析できます。関連メトリックは次のとおりです。
-
ビジネスメトリクス:
-
[ページリクエスト]: 通常、バッファープールのリクエストは CPU 使用率と連動して変動します。
-
[処理行数]: CPU 使用率と処理行数の関連性を確認し、処理行数の急増が CPU 使用率の変化に対応しているかどうかを判断します。
-
[クエリ]: CPU 使用率が変化したときに実行される SQL 文の主な種類を表示します。
-
-
接続:
[スレッド実行中]: 高コンカレンシーは、高い CPU 使用率を引き起こすことがあります。また、MDL スタッキングや行ロックによって接続が蓄積され、CPU 使用率が増加することもあります。
CPU ジッターの一般的な原因:
-
[ページリクエスト] や [処理済み行数] などのビジネスメトリクスの変更は、CPU 使用率に影響を与える可能性があります。このような場合、CPU 使用率が変化した時間範囲を選択し、[診断] を実行して詳細な根本原因分析を取得できます。
-
アクティブな接続の増加により CPU が消費されます。この場合、ビジネス側から問題を調査する必要があります。
大規模トランザクション診断

[大規模トランザクション特定診断] ビューを使用して、大規模トランザクションの問題を分析できます。
-
[接続中のスレッド]、[一時ファイルサイズ]、および [Binlog スペース] は、大規模トランザクションを示す 3 つの主要な指標です。 以下のいずれかのイベントが発生した場合、データベースに大規模トランザクションが存在します。
-
アクティブセッションが滞留する。
-
一時領域がまず増加し、その後減少する。
-
一時領域が減少した後、バイナリログ領域が増加する。
-
-
[処理済み行数]、[論理ページ書き込み]、[秒間クエリ数]:これらのメトリックは、大規模なトランザクションのタイプを判断するために使用されます。
たとえば、クエリが少ないが多くの行が削除されている場合、データを削除する大規模トランザクションであることを示します。
大規模トランザクションはバイナリログの書き込みをブロックする可能性があります。
-
インスタンスに大規模トランザクションがある場合、一時テーブルスペース (バイナリログキャッシュ) が最初に徐々に増加し、その後安定します。
-
一時テーブルスペースが安定すると、バイナリログ領域が増加します。バイナリログの書き込みはグローバルに直列処理されるため、他のトランザクションがブロックされ、接続が滞留します。
-
インスタンスが RDS High-availability Edition を実行している場合、プライマリインスタンスとセカンダリインスタンスの HA コンポーネントからのプローブステートメントもブロックされ、プライマリ/セカンダリフェイルオーバーが発生します。
大規模トランザクションを小さなトランザクションに分割して、個別に実行することを推奨します。たとえば、delete ステートメントでは、where 句を追加して、各操作で削除されるデータ量を制限し、単一の削除操作を複数の小さな削除操作に分割します。
API リファレンス
| API | 説明 |
|---|---|
| DescribeDBInstancePerformance | RDS インスタンスのパフォーマンスデータを照会します。 |