パフォーマンス キャプチャは、インスタンス指標データを収集し、mysql-performance-capture.log ファイルの Cloud
Logging に送信します。
Cloud Logging でログを表示する方法については、 ログ エクスプローラを使用してログを表示するをご覧ください。
始める前に
パフォーマンス キャプチャ ログを表示するには、プロジェクトとインスタンスの Cloud Logging でログを表示するための適切な権限が必要です。
必要なロールと権限
パフォーマンス キャプチャ ログの表示に必要な権限を取得するには、インスタンスのプロジェクトに対するログ閲覧者 (roles/logging.viewer)IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織に対するアクセス権の管理をご覧ください。
必要な権限は、カスタム ロールや他の事前定義 ロールから取得することもできます。
パフォーマンス キャプチャ ログを表示する
パフォーマンス キャプチャ ログを表示する手順は次のとおりです。
-
コンソールで、[Cloud Logging] ページに移動します。 Cloud de Confiance
- [**すべてのリソース**] をクリックし、[**Cloud SQL Database**] を選択します。
- Cloud SQL インスタンスを選択します。
ログ名でフィルタします。
logName="projects/PROJECT_ID/logs/cloudsql.googleapis.com%2Fmysql-performance-capture.log"
PROJECT_ID は、実際のプロジェクト ID に置き換えます。
ログ ペイロードは文字列形式で、複数のログ行にまたがる
SHOW ENGINE INNODB STATUSなどのキャプチャされたコマンドの出力が含まれています。
パフォーマンス キャプチャ ログのデータを確認する
各パフォーマンス キャプチャ ログは、インスタンスに定義したパフォーマンス イベントによってトリガーされます。次の表は、パフォーマンス キャプチャ ログエントリと構成しきい値を関連付け、エントリログで確認できるパフォーマンス データレポートの説明を示しています。
| パフォーマンス キャプチャ ログエントリ | 説明 | しきい値トリガー | レポート名 |
|---|---|---|---|
| アクティブなクエリ | 状態別にグループ化された接続数とトランザクション数、実行時間(2 秒未満、2 ~ 10 秒、10 秒以上)で分類されたアクティブなクエリ数、長時間実行トランザクションまたはクエリの上位 50 件の詳細情報など、データベース負荷指標をキャプチャします。
このレポートは、負荷の高い期間を特定し、処理に時間がかかる特定のクエリを特定するのに役立ちます。
InnoDB トランザクションと プロセスに関するデータの解釈方法については、MySQL ドキュメントの INFORMATION_SCHEMA INNODB_TRX テーブルと processlist テーブルをご覧ください。
|
|
activequeries |
| InnoDB ステータス | パフォーマンス イベント発生時の InnoDB ストレージ エンジンの状態に関する情報を提供します。
これは、ロック競合、トランザクションの問題、バッファプールの問題、履歴リストの長さの増加を診断するうえで重要です。確認するキーワード:
|
|
innodbstatus |
| レプリケーション分析 | SHOW REPLICA STATUS の出力、GTID セット、パフォーマンス スキーマ ツールからの詳細など、レプリケーションの診断情報が含まれます。また、パフォーマンス イベント発生時の実行位置の後のリレーログから最初の 5 つのイベントも含まれます。
このレポートを使用して、レプリケーション エラーや遅延を診断できます。
SHOW REPLICA STATUS の出力と
レプリカ アプライヤ スレッドの詳細については、MySQL ドキュメントの
SHOW REPLICA STATUS ステートメントと
レプリケーション アプライヤ ワーカー スレッドのモニタリングをご覧ください。 |
|
replicastatus |
| トランザクション ウォッチャー データ | トラッキング対象の長時間実行トランザクションの詳細。
InnoDB トランザクションに関するデータの解釈方法については、 MySQL ドキュメントの INFORMATION_SCHEMA INNODB_TRX テーブル
をご覧ください。
|
|
LongRunningTransactions |
パフォーマンス キャプチャ ログのデータをフィルタする
パフォーマンス キャプチャが Cloud SQL インスタンスに構成されたしきい値に基づいて問題を検出すると、モニタリング エージェントは、インスタンスとレポートのタイプに関連付けられたラベル付きログエントリを Cloud Logging に送信します。
ログを並べ替え、ログエントリをインスタンスで確認されたパフォーマンスの問題に関連付けるには、ラベルでパフォーマンス キャプチャ ログエントリをフィルタします。
各ログエントリには、次の 2 つのラベルが付けられます。
イベントの時刻、または
labels.EVENT_TIME: パフォーマンス キャプチャ エントリログの時刻を示します。 形式は、一意のタイムスタンプ文字列YYYY-MM-DDTHH:MM:SSZ. です。例:2025-10-16T13:12:07Zファイル名、または
labels.FILE_NAME: パフォーマンス イベントによってトリガーされたパフォーマンス キャプチャ ログエントリのレポートの種類とシーケンス番号を識別します。形式はINSTANCE_TYPE_SEQUENCE_NUMBER_REPORT_TYPEです。 例:primary_1_activequeriesは、アクティブなクエリ レポートの最初のパフォーマンス キャプチャ ログエントリです。
フィルタの使用例
このセクションでは、分析のために特定のログエントリの mysql-performance-capture.log ファイルをフィルタする方法の例を示します。
以下の例では、次のように置き換えます。
- PROJECT_ID: Cloud SQL インスタンスのプロジェクト ID
- TIMESTAMP: トリガー パフォーマンス イベントのタイムスタンプ(
YYYY-MM-DDTHH:MM:SSZ形式)。 例:2025-10-16T13:12:07Z
特定のパフォーマンス イベントでフィルタする
特定のパフォーマンス イベントでフィルタするには、labels.EVENT_TIME ラベルを使用して関連するログエントリを見つけます。
たとえば、特定のパフォーマンス イベントのレポートを取得するには、Logging ログ エクスプローラのクエリビルダーで次のクエリを使用します。
特定のイベントのすべてのレポートを取得する
logName="projects/PROJECT_ID/logs/cloudsql.googleapis.com%2Fmysql-performance-capture.log" labels.EVENT_TIME="TIMESTAMP"
特定のイベントの InnoDB レポートを取得する
logName="projects/PROJECT_ID/logs/cloudsql.googleapis.com%2Fmysql-performance-capture.log" labels.EVENT_TIME="TIMESTAMP" labels.FILE_NAME=~"innodbstatus"
特定のイベントのすべてのレポートタイプの最初のログエントリのみを取得する
logName="projects/PROJECT_ID/logs/cloudsql.googleapis.com%2Fmysql-performance-capture.log" labels.EVENT_TIME="TIMESTAMP" labels.FILE_NAME=~"_1_"
ファイル名でフィルタする
すべてのイベントのすべての activequeries レポートを取得する
この一般的なクエリは、パフォーマンス イベント発生時のアクティブなクエリを確認するのに役立ちます。
logName="projects/PROJECT_ID/logs/cloudsql.googleapis.com%2Fmysql-performance-capture.log" labels.FILE_NAME=~"activequeries"
次のように置き換えます。
- PROJECT_ID: Cloud SQL インスタンスのプロジェクト ID
特定のイベントの 1 番目と 3 番目の innodbstatus レポートを比較する
logName="projects/PROJECT_ID/logs/cloudsql.googleapis.com%2Fmysql-performance-capture.log" labels.EVENT_TIME="TIMESTAMP" (labels.FILE_NAME="primary_1_innodbstatus" OR labels.FILE_NAME="primary_3_innodbstatus")
次のように置き換えます。
- PROJECT_ID: Cloud SQL インスタンスのプロジェクト ID
- TIMESTAMP: トリガー パフォーマンス イベントのタイムスタンプ(
YYYY-MM-DDTHH:MM:SSZ形式)。 例:2025-10-16T13:12:07Z
特定の時刻以降に発生したイベントの最初の activequeries レポートを見つける
logName="projects/PROJECT_ID/logs/cloudsql.googleapis.com%2Fmysql-performance-capture.log" labels.FILE_NAME="primary_1_activequeries" timestamp > "TIMESTAMP"
次のように置き換えます。
- PROJECT_ID: Cloud SQL インスタンスのプロジェクト ID
- TIMESTAMP:
YYYY-MM-DDTHH:MM:SSZ形式のタイムスタンプ。 例:2025-10-16T13:12:07Z
InnoDB ステータス レポート内の特定のテキストを検索する
logName="projects/PROJECT_ID/logs/cloudsql.googleapis.com%2Fmysql-performance-capture.log" labels.FILE_NAME=~"innodbstatus" textPayload:"SEARCH_TEXT"
次のように置き換えます。
- PROJECT_ID: Cloud SQL インスタンスのプロジェクト ID
- SEARCH_TEXT: 検索するテキスト。例:
SEMAPHORE WAITS