Logs zur Leistungserfassung ansehen

Mit der Leistungserfassung werden Instanzmesswertdaten erfasst und in der Datei mysql-performance-capture.log an Cloud Logging gesendet.

Weitere Informationen zum Aufrufen von Logs in Cloud Logging finden Sie unter Logs mit dem Log-Explorer ansehen.

Hinweis

Zum Aufrufen von Leistungserfassungsprotokollen benötigen Sie die entsprechenden Berechtigungen, um Logs in Cloud Logging für Ihr Projekt und Ihre Instanz aufzurufen.

Erforderliche Rollen und Berechtigungen

Bitten Sie Ihren Administrator, Ihnen die Logs Viewer (roles/logging.viewer) IAM-Rolle für das Projekt der Instanz zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Aufrufen von Leistungserfassungsprotokollen benötigen. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.

Leistungserfassungsprotokolle ansehen

So rufen Sie Leistungserfassungsprotokolle auf:

  1. Wechseln Sie in der Cloud de Confiance Console zur Seite Cloud Logging.

    Zu Cloud Logging

  2. Klicken Sie auf Alle Ressourcen und wählen Sie dann Cloud SQL-Datenbank aus.
  3. Wählen Sie Ihre Cloud SQL-Instanz aus.
  4. Filtern Sie nach dem Lognamen:

    logName="projects/PROJECT_ID/logs/cloudsql.googleapis.com%2Fmysql-performance-capture.log"

    Ersetzen Sie PROJECT_ID durch Ihre Projekt-ID.

    Die Lognutzlast hat das Stringformat und enthält die Ausgabe erfasster Befehle wie SHOW ENGINE INNODB STATUS, die sich über mehrere Logzeilen erstrecken.

Daten in einem Leistungserfassungsprotokoll prüfen

Jedes Leistungserfassungsprotokoll wird durch ein Leistungsereignis ausgelöst, das Sie für Ihre Instanz definiert haben. In der folgenden Tabelle werden Leistungserfassungsprotokolleinträge mit den Konfigurationsschwellenwerten korreliert und eine Beschreibung des Berichts zu den Leistungsdaten bereitgestellt, den Sie im Eintragsprotokoll aufrufen können.

Leistungserfassungsprotokolleintrag Beschreibung Schwellenwertauslöser Berichtsname
Aktive Abfragen Erfasst Messwerte zur Datenbanklast, einschließlich Verbindungs- und Transaktionsanzahl, gruppiert nach Status, Anzahl aktiver Abfragen, unterteilt nach Laufzeit (< 2 Sekunden, 2 bis 10 Sekunden, ≥ 10 Sekunden) und detaillierte Informationen für die 50 Transaktionen oder Abfragen mit der längsten Laufzeit. Dieser Bericht hilft, Zeiträume mit hoher Last zu identifizieren und bestimmte langsame Abfragen zu ermitteln.

Weitere Informationen zum Interpretieren von Daten zu InnoDB-Transaktionen und ‑Prozessen finden Sie in der MySQL-Dokumentation unter Die Tabelle INFORMATION_SCHEMA INNODB_TRX und Die Tabelle „processlist“.
  • runningThreadsThreshold (Cloud SQL Admin API)
  • running-threads-threshold (gcloud-CLI)
activequeries
InnoDB-Status Enthält Informationen zum Status des Speichermoduls InnoDB zum Zeitpunkt des Leistungsereignisses. Dies ist entscheidend für die Diagnose von Sperrkonflikten, Transaktionsproblemen, Pufferpoolproblemen und dem Wachstum der Verlaufsliste. Schlüsselwörter, nach denen Sie suchen sollten:
  • TRANSACTIONS (lang andauernde Transaktionen, Sperrwarten)
  • SEMAPHORES (Mutex-Konflikt)
  • LATEST DETECTED DEADLOCK
  • BUFFER POOL AND MEMORY
  • HISTORY LIST LENGTH
Weitere Informationen zur Standardausgabe des InnoDB-Monitors finden Sie in der MySQL-Dokumentation unter Ausgaben der InnoDB Standardüberwachung und Sperrungsüberwachung.
  • runningThreadsThreshold (Cloud SQL Admin API)
  • running-threads-threshold (gcloud-CLI)
innodbstatus
Replikationsanalyse Enthält Informationen zur Replikationsdiagnose, einschließlich der Ausgabe von SHOW REPLICA STATUS, GTID-Sätzen und Details aus Tools für das Leistungsschema. Der Bericht enthält auch die ersten fünf Ereignisse aus dem Relay-Log nach der Ausführungsposition zum Zeitpunkt des Leistungsereignisses. Mit diesem Bericht können Sie Replikationsfehler oder ‑verzögerungen diagnostizieren.

Weitere Informationen zur Ausgabe von SHOW REPLICA STATUS und zu Threads für die Replikationsanwendung finden Sie in der MySQL-Dokumentation unter SHOW REPLICA STATUS Statement und Monitoring Replication Applier Worker Threads.
  • secondsBehindSourceThreshold (Cloud SQL Admin API)
  • seconds-behind-source-threshold (gcloud-CLI)
replicastatus
Daten der Transaktionsüberwachung Details zu den lang andauernden Transaktionen, die verfolgt werden.

Weitere Informationen zum Interpretieren von Daten zu InnoDB-Transaktionen finden Sie in der MySQL-Dokumentation unter Die Tabelle INFORMATION_SCHEMA INNODB_TRX.
  • transactionDurationThreshold (Cloud SQL Admin API)
  • transaction-duration-threshold (gcloud-CLI)
LongRunningTransactions

Daten in einem Leistungserfassungsprotokoll filtern

Wenn die Leistungserfassung ein Problem basierend auf einem für Ihre Cloud SQL-Instanz konfigurierten Schwellenwert erkennt, sendet der Überwachungsagent mit Labels versehene Logeinträge, die mit der Instanz und dem Berichtstyp verknüpft sind, an Cloud Logging.

Damit Sie Logs sortieren und Logeinträge mit den für Ihre Instanz beobachteten Leistungsproblemen korrelieren können, können Sie die Leistungserfassungsprotokolleinträge nach Label filtern.

Jeder Logeintrag ist mit den folgenden beiden Labels versehen:

  • Zeit des Ereignisses oder labels.EVENT_TIME: gibt die Zeit des Leistungserfassungsprotokolleintrags an. Das Format ist ein eindeutiger Zeitstempelstring YYYY-MM-DDTHH:MM:SSZ. Beispiel: 2025-10-16T13:12:07Z.

  • Dateiname oder labels.FILE_NAME: gibt den Berichtstyp und die Sequenznummer des Leistungserfassungs-Logeintrags an, der durch ein Leistungsereignis ausgelöst wurde. Das Format ist INSTANCE_TYPE_SEQUENCE_NUMBER_REPORT_TYPE. Beispiel: primary_1_activequeries, der erste Leistungserfassungs-Logeintrag eines Berichts zu aktiven Abfragen.

Beispielfilter

In diesem Abschnitt finden Sie Beispiele dafür, wie Sie die Datei mysql-performance-capture.log nach bestimmten Logeinträgen für die Analyse filtern.

Ersetzen Sie in den folgenden Beispielen Folgendes:

  • PROJECT_ID: Projekt-ID der Cloud SQL-Instanz
  • TIMESTAMP: Zeitstempel des auslösenden Leistungsereignisses im Format YYYY-MM-DDTHH:MM:SSZ. Beispiel: 2025-10-16T13:12:07Z

Nach einem bestimmten Leistungsereignis filtern

Wenn Sie nach einem bestimmten Leistungsereignis filtern möchten, verwenden Sie das Label labels.EVENT_TIME, um zugehörige Logeinträge zu finden.

Wenn Sie beispielsweise Berichte für ein bestimmtes Leistungsereignis abrufen möchten, verwenden Sie die folgenden Abfragen im Abfrage-Editor des Log-Explorers von Logging.

Alle Berichte für ein bestimmtes Ereignis abrufen

logName="projects/PROJECT_ID/logs/cloudsql.googleapis.com%2Fmysql-performance-capture.log"
labels.EVENT_TIME="TIMESTAMP"

InnoDB-Bericht für ein bestimmtes Ereignis abrufen

logName="projects/PROJECT_ID/logs/cloudsql.googleapis.com%2Fmysql-performance-capture.log"
labels.EVENT_TIME="TIMESTAMP"
labels.FILE_NAME=~"innodbstatus"

Nur den ersten Logeintrag für alle Berichtstypen für ein bestimmtes Ereignis abrufen

logName="projects/PROJECT_ID/logs/cloudsql.googleapis.com%2Fmysql-performance-capture.log"
labels.EVENT_TIME="TIMESTAMP"
labels.FILE_NAME=~"_1_"

Über Dateinamen hinweg filtern

Alle activequeries Berichte für alle Ereignisse abrufen

Diese allgemeine Abfrage ist nützlich, um zu sehen, wie aktive Abfragen bei einem Leistungsereignis aussehen.

logName="projects/PROJECT_ID/logs/cloudsql.googleapis.com%2Fmysql-performance-capture.log"
labels.FILE_NAME=~"activequeries"

Ersetzen Sie Folgendes:

  • PROJECT_ID: Projekt-ID der Cloud SQL-Instanz

Den ersten und dritten innodbstatus Bericht für ein bestimmtes Ereignis vergleichen

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")

Ersetzen Sie Folgendes:

  • PROJECT_ID: Projekt-ID der Cloud SQL-Instanz
  • TIMESTAMP: Zeitstempel des auslösenden Leistungsereignisses im Format YYYY-MM-DDTHH:MM:SSZ. Beispiel: 2025-10-16T13:12:07Z

Den ersten activequeries Bericht für ein Ereignis abrufen, das nach einem bestimmten Zeitpunkt aufgetreten ist

logName="projects/PROJECT_ID/logs/cloudsql.googleapis.com%2Fmysql-performance-capture.log"
labels.FILE_NAME="primary_1_activequeries"
timestamp > "TIMESTAMP"

Ersetzen Sie Folgendes:

  • PROJECT_ID: Projekt-ID der Cloud SQL-Instanz
  • TIMESTAMP: Zeitstempel im Format YYYY-MM-DDTHH:MM:SSZ. Beispiel: 2025-10-16T13:12:07Z

In einem beliebigen InnoDB-Statusbericht nach einem bestimmten Text suchen

logName="projects/PROJECT_ID/logs/cloudsql.googleapis.com%2Fmysql-performance-capture.log"
labels.FILE_NAME=~"innodbstatus"
textPayload:"SEARCH_TEXT"

Ersetzen Sie Folgendes:

  • PROJECT_ID: Projekt-ID der Cloud SQL-Instanz
  • SEARCH_TEXT: Der Text, nach dem Sie suchen möchten. Beispiel: SEMAPHORE WAITS