Logs zur Leistungserfassung ansehen

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

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

Hinweis

Zum Ansehen 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 sehen Sie sich Leistungserfassungsprotokolle an:

  1. Wechseln Sie in der Google Cloud 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 Triggerbedingungen Berichtsname
Aktive Abfragen Erfasst Messwerte zur Datenbanklast, einschließlich Verbindungs- und Transaktionsanzahl, gruppiert nach Status, Anzahl aktiver Abfragen, gruppiert 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 The INFORMATION_SCHEMA INNODB_TRX Table und The processlist Table.
  • Hohe CPU-Auslastung
  • Hohe Arbeitsspeicherauslastung
  • Hohe Nutzung temporärer Dateien
  • Länge der Verlaufsliste
  • Ausgeführte Threads
  • Semaphor-Wartezeiten
  • Wartezeiten für Transaktionssperren
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 Verlaufslistenlänge. Suchbegriffe:
  • TRANSACTIONS (lang andauernde Transaktionen, Wartezeiten für Sperren)
  • 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 unterInnoDB Standard Monitor and Lock Monitor Output.
innodbstatus
Replikationsanalyse Enthält Informationen zur Replikationsdiagnose, einschließlich der Ausgabe von SHOW REPLICA STATUS, GTID-Sets 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 Replikatanwendung finden Sie in der MySQL-Dokumentation unter SHOW REPLICA STATUS Statement und Monitoring Replication Applier Worker Threads.
  • Fehler im SQL-E/A-Thread des Replikats
  • Sekunden hinter der Quelle
replicastatus
Transaktionsanalyse Details zu den verfolgten lang andauernden Transaktionen.

Weitere Informationen zum Interpretieren von Daten zu InnoDB-Transaktionen finden Sie in der MySQL-Dokumentation unter The INFORMATION_SCHEMA INNODB_TRX Table.
Lang andauernde Transaktionen LongRunningTransactions
Automatisch beendete Transaktionen Details zu den lang andauernden Transaktionen, die im aktuellen Testzyklus beendet wurden.

Daten zur automatischen Beendigung AutoTerminateTransaction

Daten in einem Leistungserfassungsprotokoll filtern

Wenn bei der Leistungserfassung ein Problem basierend auf einem für Ihre Cloud SQL-Instanz konfigurierten Schwellenwert erkannt wird, sendet der Monitoring-Agent 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 Leistungserfassungsprotokolls 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