Auf dieser Seite wird beschrieben, wie Sie mit Cloud Logging Logs für Ihre Cloud SQL-Instanz aufrufen und abfragen.
Cloud SQL verwendet Cloud Logging. Ausführliche Informationen finden Sie in der Cloud Logging-Dokumentation und in den Cloud SQL-Beispielabfragen.
Logs ansehen
Sie können SQL-Abfragen, die auf der Datenbankinstanz ausgeführt werden, in der allgemeinen Logdatei ansehen, einschließlich SQL-Abfragen, die von Endnutzern direkt ausgeführt werden. Dazu aktivieren Sie das Flaggeneral_log
. Setzen Sie das Flag log_output
auf FILE
.
So rufen Sie Logs für die Logeinträge Ihrer Cloud SQL-Instanz auf:
Console
-
Wechseln Sie in der Google Cloud Console zur Seite Cloud Logging.
- Wählen Sie oben auf der Seite ein vorhandenes Cloud SQL-Projekt aus.
- Fügen Sie im Query Builder Folgendes hinzu:
- Ressource: Wählen Sie Cloud SQL-Datenbank aus. Wählen Sie im Dialogfeld eine Cloud SQL-Instanz aus.
- Lognamen: Scrollen Sie zum Abschnitt "Cloud SQL" und wählen Sie die entsprechenden Logdateien für Ihre Instanz aus. Beispiel:
- cloudsql.googleapis.com/mysql-general.log
- cloudsql.googleapis.com/mysql.err
- Schweregrad: Wählen Sie eine Logebene aus.
- Zeitraum: Wählen Sie eine Voreinstellung aus oder erstellen Sie einen benutzerdefinierten Zeitraum.
gcloud
Rufen Sie Logeinträge mit dem Befehl gcloud logging
auf. Ersetzen Sie im folgenden Beispiel PROJECT_ID
.
Das Flag limit
ist ein optionaler Parameter, der die maximale Anzahl von zurückzugebenden Einträgen anzeigt.
gcloud logging read "resource.type=cloudsql_database" \ --project=PROJECT-ID \ --limit=10 \ --format=json
Vorgangslog einer Instanz aufrufen
Im Bereich Vorgänge können Sie die Logs für die Instanz aufrufen. Im Bereich Vorgänge werden alle Vorgänge protokolliert, die auf der Instanz ausgeführt wurden. Es werden folgende Informationen angezeigt:
- Die Uhrzeit (in Ihrer lokalen Zeitzone), zu der der Vorgang abgeschlossen wurde
- Der Typ des Vorgangs
- Der Status des Vorgangs
- Eine Nachricht mit dem Ergebnis des Vorgangs
Wenn der Vorgang fehlgeschlagen ist, bietet die Nachricht eine Hilfe für die Fehlerbehebung.
So rufen Sie das Vorgangslog einer Instanz auf:
-
Wechseln Sie in der Google Cloud Console zur Seite Cloud SQL-Instanzen.
- Klicken Sie auf den Instanznamen, um die Seite Übersicht einer Instanz zu öffnen.
- Klicken Sie auf Vorgänge, um zu dem Bereich mit dem Vorgangslog zu wechseln.
gcloud
-Befehlszeilentool oder die Cloud SQL Admin API ausgeführt wurden.
Anwendungslogs aufrufen.
Anwendungen, die eine Verbindung zu Cloud SQL herstellen, speichern ihre Logs an verschiedenen Orten.
Flexible App Engine-Umgebung
Gehen Sie unter Compute > App Engine > Dienste so vor:
- Suchen Sie in der Liste der Dienste Ihren Dienst.
- Klicken Sie auf das Drop-down-Menü Tools.
- Logs auswählen
Verwenden Sie in der Google Cloud Console im Abschnitt Vorgänge > Logging > Log-Explorer die folgende Abfrage:
resource.type="gae_app"
resource.labels.module_id="default"
Cloud Run
Sehen Sie sich die Logs im Cloud Run-Abschnitt Log-Explorer der Google Cloud Console an. Beachten Sie, dass Cloud Run nur Fehlermeldungen vom Cloud SQL Auth-Proxy meldet. Verwenden Sie eine Abfrage wie die folgende:
resource.type="cloud_run_revision"
resource.labels.service_name="$SERVICE_NAME"
resource.labels.revision_name="$REVISION_NAME"
Cloud SQL Auth-Proxy
Verwenden Sie unter Vorgänge > Logging > Log-Explorer die folgende Abfrage:
log_id("appengine.googleapis.com/cloud-sql-proxy")
Fehlerbehebung
Problem | Fehlerbehebung |
---|---|
Audit-Logs wurden nicht gefunden. | Logs zum Datenzugriff werden nur geschrieben, wenn der Vorgang ein authentifizierter, nutzergesteuerter API-Aufruf ist, der von Nutzern erstellte Daten erstellt, ändert oder liest, oder wenn der Vorgang auf Konfigurationsdateien oder Metadaten von Ressourcen zugreift. |
Vorgangsinformationen wurden nicht in Logs gefunden. | Sie möchten weitere Informationen zu einem Vorgang erhalten.
Beispiel: Ein Nutzer wurde gelöscht, aber Sie können nicht sehen, wer ihn gelöscht hat. Die Logs zeigen den gestarteten Vorgang an, enthalten jedoch keine weiteren Informationen. Für die Erfassung detaillierter und personenidentifizierbarer Informationen wie diesen müssen Sie Audit-Logging aktivieren. |
Logging beansprucht viel Speicherplatz. | Es gibt drei Arten von Logdateien, die Speicherplatz belegen: Redo-Logs, allgemeine Logs und binäre Logs.
Stellen Sie eine Verbindung zur Datenbank her und führen Sie die folgenden Befehle aus, um Details zu den einzelnen Arten zu erhalten: SHOW VARIABLES LIKE 'innodb_log_file%'; SELECT ROUND(SUM(LENGTH(argument)/POW(1024,2),2) AS GB from mysql.general_log; SHOW BINARY LOGS; |
Logdateien sind schwer zu lesen. | Sie können die Logs alternativ im JSON- oder Textformat aufrufen. Sie können zum Herunterladen der Logs den Befehl gcloud logging read zusammen mit Linux-Nachbearbeitungsbefehlen verwenden.
So laden Sie die Logs im JSON-Format herunter: gcloud logging read \ "resource.type=cloudsql_database \ AND logName=projects/PROJECT_ID \ /logs/cloudsql.googleapis.com%2FLOG_NAME" \ --format json \ --project=PROJECT_ID \ --freshness="1d" \ > downloaded-log.json So laden Sie die Logs als TEXT herunter: gcloud logging read \ "resource.type=cloudsql_database \ AND logName=projects/PROJECT_ID \ /logs/cloudsql.googleapis.com%2FLOG_NAME" \ --format json \ --project=PROJECT_ID \ --freshness="1d"| jq -rnc --stream 'fromstream(1|truncate_stream(inputs)) \ | .textPayload' \ --order=asc > downloaded-log.txt |