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:
-
Wechseln Sie in der Google Cloud Console zur Seite Cloud Logging.
- Klicken Sie auf Alle Ressourcen und wählen Sie dann Cloud SQL-Datenbank aus.
- Wählen Sie Ihre Cloud SQL-Instanz aus.
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“.
|
|
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:
|
|
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.
|
|
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.
|
|
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 ZeitstempelstringYYYY-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 istINSTANCE_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