パフォーマンス キャプチャ ログを表示する

パフォーマンス キャプチャは、インスタンス指標データを収集し、mysql-performance-capture.log ファイルの Cloud Logging に送信します。

Cloud Logging でログを表示する方法については、 ログ エクスプローラを使用してログを表示するをご覧ください。

始める前に

パフォーマンス キャプチャ ログを表示するには、プロジェクトとインスタンスの Cloud Logging でログを表示するための適切な権限が必要です。

必要なロールと権限

パフォーマンス キャプチャ ログの表示に必要な権限を取得するには、インスタンスのプロジェクトに対するログ閲覧者 roles/logging.viewer)IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織に対するアクセス権の管理をご覧ください。

必要な権限は、カスタム ロールや他の事前定義 ロールから取得することもできます。

パフォーマンス キャプチャ ログを表示する

パフォーマンス キャプチャ ログを表示する手順は次のとおりです。

  1. コンソールで、[Cloud Logging] ページに移動します。 Cloud de Confiance

    Cloud Logging に移動

  2. [**すべてのリソース**] をクリックし、[**Cloud SQL Database**] を選択します。
  3. Cloud SQL インスタンスを選択します。
  4. ログ名でフィルタします。

    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 テーブルをご覧ください。
  • runningThreadsThreshold(Cloud SQL Admin API)
  • running-threads-thresholdgcloud CLI
activequeries
InnoDB ステータス パフォーマンス イベント発生時の InnoDB ストレージ エンジンの状態に関する情報を提供します。 これは、ロック競合、トランザクションの問題、バッファプールの問題、履歴リストの長さの増加を診断するうえで重要です。確認するキーワード:
  • TRANSACTIONS (長時間実行トランザクション、ロック待機)
  • SEMAPHORES(Mutex 競合)
  • LATEST DETECTED DEADLOCK
  • BUFFER POOL AND MEMORY
  • HISTORY LIST LENGTH
InnoDB 標準モニター出力の詳細については、 MySQL ドキュメントの InnoDB 標準モニターとロックモニターの出力 をご覧ください。
  • runningThreadsThreshold(Cloud SQL Admin API)
  • running-threads-thresholdgcloud CLI
innodbstatus
レプリケーション分析 SHOW REPLICA STATUS の出力、GTID セット、パフォーマンス スキーマ ツールからの詳細など、レプリケーションの診断情報が含まれます。また、パフォーマンス イベント発生時の実行位置の後のリレーログから最初の 5 つのイベントも含まれます。 このレポートを使用して、レプリケーション エラーや遅延を診断できます。

SHOW REPLICA STATUS の出力と レプリカ アプライヤ スレッドの詳細については、MySQL ドキュメントの SHOW REPLICA STATUS ステートメント レプリケーション アプライヤ ワーカー スレッドのモニタリングをご覧ください。
  • secondsBehindSourceThreshold(Cloud SQL Admin API)
  • seconds-behind-source-thresholdgcloud CLI
replicastatus
トランザクション ウォッチャー データ トラッキング対象の長時間実行トランザクションの詳細。

InnoDB トランザクションに関するデータの解釈方法については、 MySQL ドキュメントの INFORMATION_SCHEMA INNODB_TRX テーブル をご覧ください。
  • transactionDurationThreshold(Cloud SQL Admin API)
  • transaction-duration-thresholdgcloud CLI
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
  • TIMESTAMPYYYY-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