In questa pagina viene descritto come utilizzare gli eventi estesi (XEvents). sulle tue istanze.
Cloud SQL supporta l'utilizzo di XEvents per il monitoraggio, l'identificazione e la risoluzione dei problemi relativi alle prestazioni del database. Per farlo, devi creare sessioni XEvent e leggere i file di output XEvent. Puoi leggere i file di output XEvent sull'istanza o scaricando i file XEvent da un bucket Cloud Storage.
Prima di iniziare
Se vuoi caricare i file XEvent in un bucket Cloud Storage, crea un bucket nel tuo account Google Cloud.
Best practice
- Per evitare di trasferire file di grandi dimensioni tra regioni, ti consigliamo di procedere nel seguente modo:
- Creare bucket Cloud Storage multiregionali
- Configura il bucket Cloud Storage di destinazione nella stessa regione dell'istanza
- Prima di utilizzare XEvents, attiva gli aumenti automatici dello spazio di archiviazione. I file di output XEvent, a seconda della dimensione totale e degli intervalli di conservazione, potrebbero richiedere spazio su disco significativo.
- Per evitare di conservare troppi file XEvent per molto tempo, configura un criterio di conservazione dei dati per il bucket Cloud Storage.
- Se crei una sessione XEvent utilizzando l'interfaccia utente di SSMS, ma alcune caselle per i valori di input non vengono visualizzate, ridimensiona la finestra Crea sessione XEvent.
Come creare sessioni XEvent
XEvents è abilitato automaticamente sulle tue istanze.
Utilizza il comando CREATE EVENT SESSION
per definire nuove sessioni XEvent. Puoi anche utilizzare l'interfaccia utente
SQL Server Management Studio (SSMS) per creare sessioni XEvent.
Cloud SQL applica i seguenti parametri per tutte le sessioni XEvent:
Parametro | Descrizione | Valori consentiti |
FILENAME
|
Specifica il nome file e il percorso per l'archiviazione dei dati della sessione XEvents. | Qualsiasi percorso che inizia con /var/opt/mssql/xevents/
|
MAX_FILE_SIZE
|
Specifica la dimensione massima di ogni file di output prima della creazione di un nuovo file. | Minimo 10 MB
Massimo 1 GB |
MAX_MEMORY
|
Specifica la quantità massima di memoria da allocare alla sessione per il buffering degli eventi. | Almeno 4 MB
Un massimo di 8 MB |
MAX_DISPATCH_LATENCY
|
Specifica il tempo massimo (in secondi) per cui gli eventi possono rimanere nella coda di invio degli eventi prima di essere inviati al target. | Minimo 1 sec
Massimo 30 sec |
MAX_EVENT_SIZE
|
Imposta la dimensione massima di ogni evento, in byte. | Minimo 4 MB
Massimo 8 MB |
Parametri di configurazione della sessione XEvent
Puoi configurare le sessioni XEvent utilizzando i seguenti parametri come flag personalizzati:
Parametro | Descrizione |
cloud sql xe bucket name
|
Specifica il bucket Cloud Storage in cui vuoi caricare l'output della sessione XEvent. Se non è specificato, Cloud SQL non carica i dati di output della sessione XEvent in Cloud Storage. |
cloud sql xe output total disk size (mb)
|
Specifica la quantità di spazio su disco da riservare per l'output di tutte le sessioni XEvent. Se non viene specificato, Cloud SQL utilizza uno spazio su disco predefinito di 512 MB. Se i file di output XEvent utilizzano uno spazio su disco superiore al valore di
cloud sql xe output total disk size (mb) , Cloud SQL rimuove questi file dal disco.
|
cloud sql xe file retention (mins)
|
Specifica il tempo di conservazione nell'istanza in minuti per i file generati dai target file delle sessioni XEvent. Se non specificato, Cloud SQL utilizza il valore predefinito di 7 giorni. |
cloud sql xe upload interval (mins)
|
Specifica l'intervallo di caricamento per i file XEvent che vengono caricati su Cloud Storage. Se non specificato, Cloud SQL utilizza un valore predefinito di 10 minuti. |
Per ulteriori informazioni sull'impostazione di questi flag, vedi Configurare i flag di database.
Come leggere i file di output della sessione XEvent
Puoi leggere i file di output della sessione XEvent da un'istanza Cloud SQL o da un bucket Cloud Storage.
Leggi i file di output XEvent da un'istanza
Per recuperare i dati da un file XEvent creato da una sessione XEvent, utilizza la funzione sys.fn_xe_file_target_read_file
.
Ecco un esempio:
SELECT * FROM sys.fn_xe_file_target_read_file('/var/opt/mssql/xevents/filename*, NULL, NULL, NULL);
Leggi i file di output XEvent da un bucket
Per leggere i file di output XEvent da un bucket Cloud Storage, scaricali dal bucket in un'istanza SQL Server. Puoi scaricare da una delle seguenti istanze:
- Un'istanza Windows di Compute Engine
- Un'istanza Linux Compute Engine
- Un altro tipo di istanza che esegue SQL Server
Trasferisci quindi i file di output XEvent dal bucket a una posizione accessibile a quell'istanza, ad esempio il disco locale. Successivamente, per restituire le informazioni dal file di output XEvent, esegui la funzione sys.fn_xe_file_target_read_file
con un account che dispone dell'autorizzazione VIEW SERVER STATE
sul server. Per ulteriori informazioni sulle autorizzazioni, vedi
Autorizzazioni.
Monitorare le sessioni XEvent
Puoi monitorare le attività relative alle sessioni XEvent tramite il file xevents.log
per le seguenti operazioni:
- I file di output XEvent rimossi dal disco, che non sono stati caricati su Cloud Storage e occupavano uno spazio su disco superiore al valore associato a
cloud sql xe output total disk size (mb)
. - I file di output XEvent rimossi dal disco, che non sono stati caricati su Cloud Storage e sono precedenti al valore associato a
cloud sql xe file retention
.
Considerazioni sulle repliche di lettura
Questa sezione contiene informazioni sulle sessioni XEvent per le repliche di lettura nuove ed esistenti.
Per le nuove repliche di lettura
- Tutti i parametri di configurazione della sessione XEvent trasmessi tramite i flag del database nell'istanza originale sono disponibili nella replica di lettura appena creata.
- Tutte le sessioni XEvent presenti sull'istanza originale quando vengono create le repliche di lettura sono disponibili nella replica di lettura. Tieni presente che le sessioni XEvent sulla replica di lettura devono essere avviate manualmente, a meno che non siano configurate per l'avvio automatico. Per ulteriori informazioni, vedi Come creare sessioni XEvent.
- Se cloni un'istanza principale, tutti i flag di database visualizzati nell'istanza principale vengono propagati all'istanza clonata. Inoltre, devi concedere le autorizzazioni all'account di servizio dell'istanza clonata per accedere di nuovo al bucket Cloud Storage.
Per le repliche di lettura esistenti
- I parametri di configurazione della sessione XEvent trasmessi attraverso i flag di database all'istanza originale non vengono propagati alle repliche di lettura.
- Le sessioni XEvent create nell'istanza originale non vengono propagate alle repliche di lettura.