Visualizzare i log di acquisizione delle prestazioni

L'acquisizione delle prestazioni raccoglie e invia i dati delle metriche dell'istanza a Cloud Logging nel file mysql-performance-capture.log.

Per saperne di più sulla visualizzazione dei log in Cloud Logging, consulta Visualizza i log utilizzando Esplora log.

Prima di iniziare

Per visualizzare i log di acquisizione delle prestazioni, devi disporre delle autorizzazioni appropriate per visualizzare i log in Cloud Logging per il tuo progetto e la tua istanza.

Ruoli e autorizzazioni richiesti

Per ottenere le autorizzazioni necessarie per visualizzare i log di acquisizione delle prestazioni, chiedi all'amministratore di concederti il ruolo IAM Visualizzatore log (roles/logging.viewer) sul progetto dell'istanza. 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.

Visualizzare i log di acquisizione delle prestazioni

Per visualizzare i log di acquisizione delle prestazioni:

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

    Vai a Cloud Logging

  2. Fai clic su Tutte le risorse, quindi seleziona Database Cloud SQL.
  3. Seleziona l'istanza Cloud SQL.
  4. Filtra per il nome del log:

    logName="projects/PROJECT_ID/logs/cloudsql.googleapis.com%2Fmysql-performance-capture.log"

    Sostituisci PROJECT_ID con l'ID progetto.

    Il payload del log è in formato stringa e contiene l'output dei comandi acquisiti come SHOW ENGINE INNODB STATUS che si estendono su più righe di log.

Esaminare i dati in un log di acquisizione del rendimento

Ogni log di acquisizione delle prestazioni viene attivato da un evento di rendimento che hai definito per la tua istanza. La tabella seguente mette in correlazione le voci di log di acquisizione del rendimento con le soglie di configurazione e fornisce una descrizione del report sui dati sul rendimento che puoi visualizzare nel log delle voci.

Voce di log di acquisizione delle prestazioni Descrizione Trigger soglia Nome report
Query attive Acquisisce le metriche di carico del database, inclusi i conteggi di connessioni e transazioni raggruppati per stato, i conteggi delle query attive suddivisi in bucket in base alla durata di runtime (< 2 secondi, da 2 a 10 secondi, ≥ 10 secondi) e informazioni dettagliate per le 50 transazioni o query con la durata più lunga. Questo report aiuta a identificare i periodi di carico elevato e a individuare query lente specifiche.

Per ulteriori informazioni su come interpretare i dati relativi alle transazioni e ai processi InnoDB, consulta La tabella INFORMATION_SCHEMA INNODB_TRX e La tabella processlist nella documentazione di MySQL.
  • runningThreadsThreshold (API Cloud SQL Admin)
  • running-threads-threshold (gcloud CLI)
activequeries
Stato InnoDB Fornisce informazioni sullo stato del motore di archiviazione InnoDB al momento dell'evento di rendimento. Questo è fondamentale per diagnosticare la contesa dei blocchi, i problemi relativi alle transazioni, i problemi del buffer pool e la crescita della lunghezza dell'elenco della cronologia. Parole chiave da cercare:
  • TRANSACTIONS (transazioni a lunga esecuzione, attese di blocco)
  • SEMAPHORES (contesa del mutex)
  • LATEST DETECTED DEADLOCK
  • BUFFER POOL AND MEMORY
  • HISTORY LIST LENGTH
Per ulteriori informazioni sull'output del monitor standard InnoDB, consulta InnoDB Standard Monitor and Lock Monitor Output nella documentazione di MySQL.
  • runningThreadsThreshold (API Cloud SQL Admin)
  • running-threads-threshold (gcloud CLI)
innodbstatus
Analisi della replica Contiene informazioni diagnostiche sulla replica, inclusi l'output di SHOW REPLICA STATUS, i set GTID e i dettagli degli strumenti dello schema delle prestazioni. Il report include anche i primi cinque eventi del log di trasmissione dopo la posizione di esecuzione al momento dell'evento di rendimento. Questo report può essere utilizzato per diagnosticare errori o ritardi di replica.

Per ulteriori informazioni sull'output di SHOW REPLICA STATUS e sui thread di applicazione della replica, consulta SHOW REPLICA STATUS Statement e Monitoring Replication Applier Worker Threads nella documentazione di MySQL.
  • secondsBehindSourceThreshold (API Cloud SQL Admin)
  • seconds-behind-source-threshold (gcloud CLI)
replicastatus
Dati di Transaction Watcher Dettagli sulle transazioni a lunga esecuzione monitorate.

Per ulteriori informazioni su come interpretare i dati sulle transazioni InnoDB, consulta La tabella INFORMATION_SCHEMA INNODB_TRX nella documentazione di MySQL.
  • transactionDurationThreshold (API Cloud SQL Admin)
  • transaction-duration-threshold (gcloud CLI)
LongRunningTransactions

Filtrare i dati in un log di acquisizione del rendimento

Quando l'acquisizione delle prestazioni rileva un problema in base a una soglia configurata per l'istanza Cloud SQL, l'agente di monitoraggio invia a Cloud Logging le voci di log etichettate associate all'istanza e al tipo di report.

Per aiutarti a esaminare i log e correlare le voci di log ai problemi di rendimento osservati per la tua istanza, puoi filtrare le voci di log di acquisizione delle prestazioni in base all'etichetta.

Ogni voce di log è etichettata con le seguenti due etichette:

  • Ora dell'evento o labels.EVENT_TIME: indica l'ora del log della voce di acquisizione delle prestazioni. Il formato è una stringa timestamp univoca YYYY-MM-DDTHH:MM:SSZ. Ad esempio: 2025-10-16T13:12:07Z.

  • Nome file o labels.FILE_NAME: identifica il tipo di report e il numero di sequenza della voce di log di acquisizione delle prestazioni attivata da un evento di prestazioni. Il formato è INSTANCE_TYPE_SEQUENCE_NUMBER_REPORT_TYPE. Ad esempio, primary_1_activequeries, che è la prima voce di log di acquisizione del rendimento di un report sulle query attive.

Filtri di esempio

Questa sezione fornisce esempi di come filtrare il file mysql-performance-capture.log per voci di log specifiche per l'analisi.

Nei seguenti esempi, sostituisci quanto segue:

  • PROJECT_ID: ID progetto dell'istanza Cloud SQL
  • TIMESTAMP: timestamp dell'evento di rendimento di attivazione nel formato YYYY-MM-DDTHH:MM:SSZ. Ad esempio, 2025-10-16T13:12:07Z

Filtrare in base a un evento di rendimento specifico

Per filtrare in base a un evento di rendimento specifico, utilizza l'etichetta labels.EVENT_TIME per trovare le voci di log correlate.

Ad esempio, per ottenere report per un evento di rendimento specifico, utilizza le seguenti query nel generatore di query di Esplora log di Logging.

Visualizzare tutti i report per un evento specifico

logName="projects/PROJECT_ID/logs/cloudsql.googleapis.com%2Fmysql-performance-capture.log"
labels.EVENT_TIME="TIMESTAMP"

Ottenere il report InnoDB per un evento specifico

logName="projects/PROJECT_ID/logs/cloudsql.googleapis.com%2Fmysql-performance-capture.log"
labels.EVENT_TIME="TIMESTAMP"
labels.FILE_NAME=~"innodbstatus"

Ricevere solo la prima voce di log per tutti i tipi di report per un evento specifico

logName="projects/PROJECT_ID/logs/cloudsql.googleapis.com%2Fmysql-performance-capture.log"
labels.EVENT_TIME="TIMESTAMP"
labels.FILE_NAME=~"_1_"

Filtrare tra i nomi dei file

Visualizzare tutti i report activequeries in tutti gli eventi

Questa query generale è utile per vedere l'aspetto delle query attive durante qualsiasi evento di rendimento.

logName="projects/PROJECT_ID/logs/cloudsql.googleapis.com%2Fmysql-performance-capture.log"
labels.FILE_NAME=~"activequeries"

Sostituisci quanto segue:

  • PROJECT_ID: ID progetto dell'istanza Cloud SQL

Confrontare il primo e il terzo report innodbstatus per un evento specifico

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")

Sostituisci quanto segue:

  • PROJECT_ID: ID progetto dell'istanza Cloud SQL
  • TIMESTAMP: timestamp dell'evento di rendimento di attivazione nel formato YYYY-MM-DDTHH:MM:SSZ. Ad esempio, 2025-10-16T13:12:07Z

Trovare il primo report activequeries per qualsiasi evento verificatosi dopo un determinato periodo di tempo

logName="projects/PROJECT_ID/logs/cloudsql.googleapis.com%2Fmysql-performance-capture.log"
labels.FILE_NAME="primary_1_activequeries"
timestamp > "TIMESTAMP"

Sostituisci quanto segue:

  • PROJECT_ID: ID progetto dell'istanza Cloud SQL
  • TIMESTAMP: timestamp nel formato YYYY-MM-DDTHH:MM:SSZ. Ad esempio, 2025-10-16T13:12:07Z

Cercare un testo specifico all'interno di qualsiasi report sullo stato di InnoDB

logName="projects/PROJECT_ID/logs/cloudsql.googleapis.com%2Fmysql-performance-capture.log"
labels.FILE_NAME=~"innodbstatus"
textPayload:"SEARCH_TEXT"

Sostituisci quanto segue:

  • PROJECT_ID: ID progetto dell'istanza Cloud SQL
  • SEARCH_TEXT: il testo che vuoi cercare. Ad esempio, SEMAPHORE WAITS