Visualizzazione dei log delle istanze

Questa pagina descrive come trovare e utilizzare Cloud Logging per visualizzare ed eseguire query sui log per l'istanza Cloud SQL.

Cloud SQL utilizza Cloud Logging. Per informazioni complete, consulta la documentazione di Cloud Logging ed esamina le query di esempio Cloud SQL.

Visualizza i log

Puoi visualizzare le query SQL eseguite nell'istanza di database, incluse quelle eseguite direttamente dagli utenti finali, nel file di log generale abilitando il flag general_log e impostando il flag log_output su FILE.

Per visualizzare i log per le voci di log dell'istanza Cloud SQL:

Console

  1. Nella console Google Cloud, vai alla pagina Cloud Logging.

    Vai a Cloud Logging

  2. Seleziona un progetto Cloud SQL esistente nella parte superiore della pagina.
  3. In Query Builder, aggiungi quanto segue:
    • Risorsa: seleziona Database Cloud SQL. Nella finestra di dialogo, seleziona un'istanza Cloud SQL.
    • Nomi di log: scorri fino alla sezione Cloud SQL e seleziona i 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 una preimpostazione o crea un intervallo personalizzato.

gcloud

Utilizza il comando gcloud logging per visualizzare le voci di log. Nell'esempio seguente, sostituisci PROJECT_ID. Il flag limit è 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 log operazioni istanza

Puoi visualizzare i log per un'istanza nel riquadro Operazioni. Il riquadro Operazioni registra ogni operazione eseguita sull'istanza con le seguenti informazioni:

  • L'ora in cui è stata completata l'operazione, 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 va a buon fine, puoi utilizzare il messaggio per risolvere il problema.

Per visualizzare un log delle operazioni dell'istanza:

  1. Nella console Google Cloud, vai alla pagina Istanze Cloud SQL.

    Vai a Istanze Cloud SQL

  2. Per aprire la pagina Panoramica di un'istanza, fai clic sul nome dell'istanza.
  3. Fai clic su Operazioni per passare al riquadro che mostra il log delle operazioni.
Nota: il log delle operazioni non include operazioni eseguite utilizzando strumenti di gestione esterna, come il client mysql. Solo le operazioni di gestione utenti e modifica della password eseguite utilizzando la console Google Cloud, lo strumento a riga di comando gcloud o l'API Cloud SQL Admin vengono visualizzate nel log delle operazioni.

Visualizza log applicazione

Le applicazioni che si connettono a Cloud SQL archiviano i log in diverse località.

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 console Google Cloud, 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 della console Google Cloud. 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")

Risolvere i problemi

Problema Risoluzione dei problemi
Audit log non trovati. I log di accesso ai dati vengono scritti solo se l'operazione è una chiamata API autenticata dall'utente che crea, modifica o legge i dati creati dagli utenti oppure se l'operazione accede ai file di configurazione o ai metadati delle risorse.
Informazioni sulle operazioni non 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 l'operazione avviata, ma non forniscono ulteriori informazioni. Devi abilitare l'audit logging per registrare informazioni dettagliate e che consentono l'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 ripetizione, log generici e log binari.

Connettiti al database ed esegui questi comandi per i dettagli su ciascun 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 come JSON o testo.Per scaricare i log, puoi utilizzare il comando gcloud logging read insieme ai comandi di post-elaborazione Linux.

Per scaricare i log come 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 come TEXT:


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