Visualizzare i log di acquisizione delle prestazioni

L'acquisizione del rendimento 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 del rendimento, 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 del rendimento, 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 del rendimento

Per visualizzare i log di acquisizione del rendimento:

  1. Nella Cloud de Confiance 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, 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 del rendimento viene attivato da un evento di rendimento definito per l'istanza. La tabella seguente mette in correlazione le voci dei 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 del rendimento Descrizione Trigger di 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 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.
activequeries
Stato InnoDB Fornisce informazioni sullo stato del motore di archiviazione InnoDB al momento dell'evento di rendimento. 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 esecuzione prolungata, 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 di rendimento. Il report include anche i primi cinque eventi del log di inoltro dopo la posizione di esecuzione al momento dell'evento di rendimento. 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 le istruzioni SHOW REPLICA STATUS e Monitoraggio dei thread di lavoro dell'applicazione della replica nella documentazione di MySQL.
replicastatus
Dati di Transaction Watcher Dettagli sulle transazioni a esecuzione prolungata di cui viene eseguito il monitoraggio.

Per saperne di più su come interpretare i dati relativi alle transazioni InnoDB, consulta La tabella INFORMATION_SCHEMA INNODB_TRX nella documentazione di MySQL.
LongRunningTransactions

Filtrare i dati in un log di acquisizione del rendimento

Quando l'acquisizione del rendimento 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 rendimento osservati per l'istanza, puoi filtrare le voci dei log di acquisizione del rendimento 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 del rendimento. 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 del rendimento attivata da un evento di rendimento. 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.

Esempi di filtri

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

Filtrare per un evento di rendimento specifico

Per filtrare per 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.

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

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 rendimento 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