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 progetto e l'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 Google Cloud console, 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, ad esempio SHOW ENGINE INNODB STATUS, che si estende su più righe di log.

Esaminare i dati in un log di acquisizione delle prestazioni

Ogni log di acquisizione delle prestazioni viene attivato da un evento di prestazioni definito per l'istanza. La tabella seguente mette in correlazione le voci dei log di acquisizione delle prestazioni 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 Condizioni trigger 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 per durata di runtime (< 2 secondi, da 2 a 10 secondi, ≥ 10 secondi) e informazioni dettagliate per le 50 transazioni o query a esecuzione più lunga. Questo report consente di identificare i periodi di carico elevato e individuare query lente specifiche.

Per saperne di più su come interpretare i dati relativi alle transazioni e ai processi InnoDB, consulta la INFORMATION_SCHEMA INNODB_TRX tabella e la tabella processlist nella documentazione di MySQL.
  • Utilizzo elevato della CPU
  • Memoria utilizzata elevata
  • Utilizzo elevato dei file temporanei
  • Lunghezza dell'elenco della cronologia
  • Thread in esecuzione
  • Attese del semaforo
  • Attese di blocco delle transazioni
activequeries
Stato InnoDB Fornisce informazioni sullo stato del motore di archiviazione InnoDB al momento dell'evento di prestazioni. Questo è fondamentale per diagnosticare la contesa di blocchi, i problemi di transazione, 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 di mutex)
  • LATEST DETECTED DEADLOCK
  • BUFFER POOL AND MEMORY
  • HISTORY LIST LENGTH
Per saperne di più sull'output del monitor standard di InnoDB, consulta Output del monitor standard di InnoDB e del monitor di blocco nella documentazione di MySQL.
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 inoltro dopo la posizione di esecuzione al momento dell'evento di prestazioni. Questo report può essere utilizzato per diagnosticare errori o ritardi di replica.

Per saperne di più sull'output di SHOW REPLICA STATUS e sui thread dell'applicazione della replica, consulta l'istruzione SHOW REPLICA STATUS e Monitoraggio dei thread di lavoro dell'applicazione della replica nella documentazione di MySQL.
  • Errore del thread I/O SQL della replica
  • Secondi di ritardo rispetto all'origine
replicastatus
Analisi delle transazioni Dettagli sulle transazioni a lunga esecuzione monitorate.

Per saperne di più su come interpretare i dati relativi alle transazioni InnoDB, consulta La tabella INFORMATION_SCHEMA INNODB_TRX nella documentazione di MySQL.
Transazioni a lunga esecuzione LongRunningTransactions
Transazioni terminate automaticamente Dettagli sulle transazioni a lunga esecuzione terminate nel ciclo di sondaggio corrente.

Dati di terminazione automatica AutoTerminateTransaction

Filtrare i dati in un log di acquisizione delle prestazioni

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 ordinare i log e a mettere in correlazione le voci di log con i problemi di prestazioni osservati per l'istanza, puoi filtrare le voci dei log di acquisizione delle prestazioni per etichetta.

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

  • Ora dell'evento o labels.EVENT_TIME: indica l'ora del log delle voci di acquisizione delle prestazioni. Il formato è una stringa di 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 delle prestazioni 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.

Negli esempi seguenti, sostituisci quanto segue:

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

Filtrare per un evento di prestazioni specifico

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

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

Ottieni tutti i report per un evento specifico

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

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

Ottieni 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

Ottieni tutti i report activequeries per tutti gli eventi

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

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

Confronta 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 prestazioni di attivazione nel formato YYYY-MM-DDTHH:MM:SSZ. Ad esempio, 2025-10-16T13:12:07Z

Trova il primo report activequeries per qualsiasi evento verificatosi dopo una determinata ora

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

Cerca un testo specifico in 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