Visualizzazione dei log delle istanze

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

Cloud Logging raccoglie automaticamente i dati di log dalle istanze Cloud SQL. Puoi utilizzare Logging per eseguire query, visualizzare e analizzare i dati di log per risolvere i problemi e migliorare l'osservabilità. Per saperne di più, consulta la documentazione di Cloud Logging ed esamina le query di esempio di Cloud SQL.

Prima di iniziare

Per ottenere le autorizzazioni necessarie per utilizzare Esplora log per visualizzare le voci di log, chiedi all'amministratore di concederti i seguenti ruoli IAM:

  • Per visualizzare le voci di log nel bucket _Required e quelle nella visualizzazione _Default nel bucket _Default o per selezionare un ambito dei log: Visualizzatore log (roles/logging.viewer) nel progetto, nella cartella o nell'organizzazione.
  • Per visualizzare tutte le voci di log nei bucket _Required e _Default: Visualizzatore log privati (roles/logging.privateLogViewer) sul progetto, sulla cartella o sull'organizzazione.

Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.

Visualizza i log

Per visualizzare le voci di log per l'istanza Cloud SQL, segui questi passaggi:

Console

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

    Vai a Cloud Logging

  2. Seleziona un progetto Cloud SQL.
  3. Nel riquadro Query, effettua le seguenti selezioni:
    • Tutte le risorse: seleziona Database Cloud SQL. Nella finestra di dialogo, seleziona un'istanza Cloud SQL.
    • Tutti i nomi di log: vai alla sezione Cloud SQL e seleziona i file di log appropriati per la tua istanza. Ad esempio:
      • cloudsql.googleapis.com/sqlagent.out
      • cloudsql.googleapis.com/sqlserver.err
    • Tutte le gravità: seleziona un livello di gravità. Ad esempio, seleziona Error per visualizzare i log con un livello di gravità pari almeno a Error.
    • Selettore dell'intervallo di tempo: seleziona un'opzione di tempo preimpostata, specifica un'ora di inizio e di fine personalizzata o centra l'intervallo di tempo attorno a un timestamp specifico.

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 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 di completamento dell'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. Vai al riquadro Operazioni e log per visualizzare il log delle operazioni.
Nota: il log delle operazioni non include le operazioni eseguite utilizzando strumenti di gestione esterni, come gli strumenti a riga di comando di SQL Server. Nel log delle operazioni vengono visualizzate solo le operazioni di gestione degli utenti e di modifica della password eseguite utilizzando la consoleGoogle Cloud , gcloud CLI 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)

Per visualizzare i log dei tuoi servizi App Engine, segui questi passaggi:

  1. Vai alla pagina Servizi di App Engine nella console Google Cloud :

    Vai a Servizi

  2. Seleziona un servizio dalla tabella e fai clic su Log nella colonna Diagnostica.

    Viene visualizzato Esplora log con una query che recupera i log per il tuo servizio App Engine.

Per visualizzare i log di App Engine nella sezione Esplora log della consoleGoogle Cloud , utilizza una query simile alla seguente:

resource.type="gae_app"
resource.labels.module_id="default"

Cloud Run

Per visualizzare i log di Cloud Run nella sezione Esplora log della consoleGoogle Cloud , utilizza una query simile alla seguente:

resource.type="cloud_run_revision"
resource.labels.service_name="$SERVICE_NAME"
resource.labels.revision_name="$REVISION_NAME"

Tieni presente che Cloud Run segnala solo i messaggi di errore del proxy di autenticazione Cloud SQL.

Cloud SQL Auth Proxy

Per visualizzare i log di Cloud SQL Auth Proxy nella sezione Esplora log della consoleGoogle Cloud , utilizza una query simile alla seguente:

log_id("appengine.googleapis.com/cloud-sql-proxy")

Visualizza audit log

Cloud SQL scrive Cloud Audit Logs per registrare le attività amministrative e l'accesso ai dati nelle tue risorse. Puoi visualizzare i seguenti tipi di audit log per le tue istanze Cloud SQL:

  • Attività di amministrazione: voci di log scritte da chiamate API effettuate dagli utenti o altre azioni che modificano la configurazione o i metadati delle risorse. Non puoi disattivare questi log.
  • Accesso ai dati: voci di log scritte da chiamate API che leggono la configurazione o i metadati delle risorse. Questi log includono anche le operazioni che leggono o scrivono i dati forniti dagli utenti. Per scrivere i log di controllo dell'accesso ai dati, devi abilitarli.
  • Evento di sistema: voci di log scritte da sistemi Google Cloud e agenti di servizi gestiti che modificano la configurazione delle risorse. Non puoi disattivare questi log.

Per saperne di più sulla visualizzazione degli audit log di Cloud SQL, incluso un elenco completo dei metodi controllati, consulta Audit logging di Cloud SQL per SQL Server.

Prezzi

Per saperne di più sui prezzi di Cloud Logging, consulta il Riepilogo dei prezzi di Cloud Logging.

Risoluzione dei 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 guidata dall'utente che crea, modifica o legge i dati creati dall'utente o 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 lo ha fatto. I log mostrano che l'operazione è iniziata, ma non forniscono ulteriori informazioni. Devi attivare l'audit logging per registrare informazioni dettagliate e che consentono l'identificazione personale (PII) come queste.

Alcuni log vengono filtrati dal log error.log di un'istanza Cloud SQL per SQL Server. I log filtrati includono i log AD senza timestamp e includono: Login failed for user 'x'. Reason: Token-based server access validation failed with an infrastructure error. Login lacks connect endpoint permission. [CLIENT: 127.0.0.1]. Questi log vengono filtrati perché potrebbero causare confusione.
I file di log sono difficili da leggere. Preferisci visualizzare i log in formato JSON o testo.Puoi utilizzare il comando gcloud logging read 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 come file 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