Questa pagina descrive come trovare e utilizzare Cloud Logging per visualizzare ed eseguire query sui log della tua istanza Cloud SQL.
Cloud SQL utilizza Cloud Logging. Consulta la documentazione di Cloud Logging per informazioni complete ed esamina le query di esempio di Cloud SQL.
Visualizza i log
Puoi visualizzare le query SQL eseguite sull'istanza del database, incluse le query SQL eseguite direttamente dagli utenti finali, nel file di log generale attivando il flaggeneral_log e impostando il flag log_output su FILE.
Per visualizzare le voci di log della tua istanza Cloud SQL:
Console
-
Nella Google Cloud console, vai alla pagina Cloud Logging.
- Seleziona un progetto Cloud SQL esistente nella parte superiore della pagina.
- In Query Builder, aggiungi quanto segue:
- Risorsa: seleziona Database Cloud SQL. Nella finestra di dialogo, seleziona un' istanza Cloud SQL.
- Nomi dei log: scorri fino alla sezione Cloud SQL e seleziona
file di log appropriati per la tua istanza. Ad esempio:
- cloudsql.googleapis.com/mysql-general.log
- cloudsql.googleapis.com/mysql.err
- Gravità: seleziona un livello di log.
- Intervallo di tempo: seleziona un intervallo preimpostato o creane uno personalizzato.
gcloud
Utilizza il gcloud logging
comando per visualizzare le voci di log. Nell'esempio seguente, sostituisci PROJECT_ID.
Il limit
flag è un parametro facoltativo che indica il numero massimo di voci da
restituire.
gcloud logging read "resource.type=cloudsql_database" \ --project=PROJECT-ID \ --limit=10 \ --format=json
Visualizza il log delle operazioni dell'istanza
Puoi visualizzare i log di un'istanza nel riquadro Operazioni. Il riquadro Operazioni registra ogni operazione eseguita sull'istanza con le seguenti informazioni:
- L'ora in cui l'operazione è stata completata, indicata nel fuso orario locale.
- Il tipo di operazione.
- Lo stato dell'operazione.
- Un messaggio che descrive il risultato dell'operazione.
Se l'operazione non riesce, puoi utilizzare il messaggio per risolvere il problema.
Per visualizzare un log delle operazioni dell'istanza:
-
Nella Google Cloud console, vai alla pagina Istanze Cloud SQL.
- Per aprire la pagina Panoramica di un'istanza, fai clic sul nome dell'istanza.
- Fai clic su Operazioni per passare al riquadro che mostra il log delle operazioni.
gcloud
strumento a riga di comando o l'API Cloud SQL Admin.
Visualizza log applicazione
Le applicazioni che si connettono a Cloud SQL archiviano i log in posizioni diverse.
App Engine (ambiente flessibile)
In Compute > App Engine > Servizi:
- Cerca il tuo servizio nell'elenco dei servizi.
- Fai clic sul menu a discesa Strumenti.
- Seleziona Log.
Nella sezione Operazioni > Logging > Esplora log della Google Cloud console, utilizza la seguente query:
resource.type="gae_app"
resource.labels.module_id="default"
Cloud Run
Visualizza i log nella sezione Esplora log di Cloud Run nella Google Cloud console. Tieni presente che Cloud Run segnala solo i messaggi di errore del proxy di autenticazione Cloud SQL. Utilizza una query simile alla seguente:
resource.type="cloud_run_revision"
resource.labels.service_name="$SERVICE_NAME"
resource.labels.revision_name="$REVISION_NAME"
Proxy di autenticazione Cloud SQL
In Operazioni > Logging > Esplora log, utilizza la seguente query:
log_id("appengine.googleapis.com/cloud-sql-proxy")
Visualizza audit log
Puoi visualizzare i seguenti tipi di audit log per le tue istanze Cloud SQL:
- Attività di amministrazione: include le operazioni di amministrazione che scrivono i metadati o le informazioni di configurazione. Non puoi disattivare questi log.
- Accesso ai dati: include le operazioni di amministrazione che leggono i metadati o le informazioni di configurazione. Questi log includono anche le operazioni che leggono o scrivono i dati forniti dall'utente. Per ricevere gli audit log di accesso ai dati, devi abilitarli esplicitamente.
- Eventi di sistema: identifica le azioni automatizzate Google Cloud che modificano la configurazione delle risorse. Non puoi disattivare questi log.
Per ulteriori informazioni sulla visualizzazione degli audit log di attività di amministrazione, accesso ai dati ed eventi di sistema, consulta Visualizza i log.
Prezzi
Per ulteriori informazioni sui prezzi di Cloud Logging, consulta il riepilogo dei prezzi di Cloud Logging.
Risoluzione dei problemi
| Problema | Risoluzione dei problemi |
|---|---|
| Non vengono trovati audit log. | I log di accesso ai dati vengono scritti solo se l'operazione è una chiamata API autenticata guidata dall'utente che crea, modifica o legge i dati creati dall'utente, oppure se l'operazione accede ai file di configurazione o ai metadati delle risorse. |
| Le informazioni sulle operazioni non vengono trovate nei log. | Vuoi trovare ulteriori informazioni su un'operazione.
Ad esempio, un utente è stato eliminato, ma non riesci a scoprire chi l'ha fatto. I log mostrano che l' operazione è iniziata, ma non forniscono ulteriori informazioni. Devi attivare l'audit logging per registrare informazioni dettagliate e di identificazione personale (PII) come queste. |
| Logging utilizza molto spazio su disco. | Esistono tre tipi di file di log che utilizzano spazio su disco: log di ripristino,
log generali e log binari.
Connettiti al database ed esegui questi comandi per i dettagli su ogni tipo: SHOW VARIABLES LIKE 'innodb_log_file%'; SELECT ROUND(SUM(LENGTH(argument)/POW(1024,2),2) AS GB from mysql.general_log; SHOW BINARY LOGS; |
| I file di log sono difficili da leggere. | Preferisci visualizzare i log in formato JSON o di testo.Puoi utilizzare il
gcloud logging read
comando insieme ai comandi di post-elaborazione di Linux per scaricare i log.
Per scaricare i log in formato JSON: 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 Per scaricare i log in formato di testo: 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 |