Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a:Database SQL di Azure
È possibile usare le metriche di Monitoraggio di Azure per monitorare il consumo e l'integrità delle risorse del pool elastico e del database. È possibile usare gli avvisi per inviare notifiche quando i valori delle metriche indicano un potenziale problema.
Metriche
Una metrica è una serie di valori numerici misurati a intervalli di tempo regolari, spesso usando unità come count
, percent
, bytes
e così via. A seconda della natura della metrica, è possibile usare aggregazioni come total
, count
average
, , minimum
, per maximum
calcolare i valori delle metriche per un periodo di tempo. È possibile suddividere alcune metriche in base alle dimensioni. Ogni dimensione fornisce un contesto aggiuntivo ai valori numerici.
Esempi di metriche del database SQL di Azure disponibili sono: CPU percentage
, Data space used
, Deadlocks
, Tempdb Percent Log Used
.
Per tutte le metriche disponibili nel database SQL di Azure, vedere Metriche di database e metriche del pool elastico .
Annotazioni
Alcune metriche si applicano solo a tipi specifici di database o pool elastici. La descrizione di ogni metrica indica se viene usata solo per un database specifico o un tipo di pool elastico, ad esempio vCore, Hyperscale, serverless e così via.
Nel portale del database SQL di Azure vengono visualizzate diverse metriche di uso comune nella scheda Monitoraggio della pagina Panoramica . Le metriche consentono di valutare immediatamente l'utilizzo e l'integrità delle risorse di un database o di un pool elastico.
In Metriche chiave selezionare Visualizza tutte le metriche o in qualsiasi punto del grafico per aprire Esplora metriche. Nella pagina Metriche è possibile visualizzare tutte le altre metriche disponibili per la risorsa del database o del pool elastico. In Esplora metriche è possibile modificare l'intervallo di tempo, la granularità e il tipo di aggregazione per il grafico, modificare il tipo di grafico, espandere l'ambito per includere le metriche di altre risorse di Azure, creare regole di avviso e così via. È anche possibile aprire Esplora metriche selezionando la voce di menu Metriche , in Monitoraggio nel menu delle risorse.
Usare le metriche per monitorare database e pool elastici
Puoi usare le metriche per monitorare l’utilizzo e il funzionamento delle risorse di database e pool elastici. Ad esempio, puoi:
- Dimensionare correttamente il database o il pool elastico in base al carico di lavoro dell'applicazione
- Rilevare un aumento graduale dell'utilizzo delle risorse e aumentare in modo proattivo il database o il pool elastico
- Rilevare e risolvere un problema di prestazioni
La tabella seguente descrive le metriche usate comunemente nel database SQL di Azure.
Nome della metrica di misura | ID metrica | Descrizione |
---|---|---|
Percentuale CPU | cpu_percent |
Questa metrica mostra il consumo della CPU per il limite del carico di lavoro utente di un database o di un pool elastico, espresso come percentuale. Per altre informazioni, vedere Utilizzo delle risorse per carichi di lavoro utente e processi interni. |
Percentuale della CPU dell'istanza SQL | sql_instance_cpu_percent |
Questa metrica mostra il consumo totale della CPU da parte degli utenti e dei carichi di lavoro di sistema, espresso come percentuale. Poiché questa metrica e la metrica percentuale cpu vengono misurate su scale diverse, non sono direttamente confrontabili tra loro. Per altre informazioni, vedere Utilizzo delle risorse per carichi di lavoro utente e processi interni. |
Percentuale I/O dei dati | physical_data_read_percent |
Questa metrica mostra il consumo di I/O del file di dati per il limite del carico di lavoro utente di un database o di un pool elastico, espresso come percentuale. Per altre informazioni, vedere Governance di I/O dei dati. |
Percentuale I/O log | log_write_percent |
Questa metrica mostra il consumo della velocità effettiva di scrittura del log delle transazioni per il limite del carico di lavoro utente di un database o di un pool elastico, espresso come percentuale. Per altre informazioni, vedere Governance della frequenza dei log delle transazioni. |
Percentuale dei lavoratori | workers_percent |
Questa metrica mostra l'utilizzo dei thread di worker rispetto al limite del carico di lavoro utente di un database o di un pool elastico, espresso come percentuale. |
Percentuale DTU | dtu_consumption_percent |
Questa metrica mostra il consumo di DTU per il limite del carico di lavoro utente di un database o di un pool elastico, espresso come percentuale. La percentuale DTU deriva da altre tre metriche: percentuale CPU, percentuale I/O dati e percentuale I/O log. In qualsiasi momento, la percentuale DTU corrisponde al valore più alto tra queste tre metriche. |
CPU usata | cpu_used |
Questa metrica mostra il consumo della CPU verso il limite del carico di lavoro utente di un database o di un pool elastico, espresso come numero di vCore. Per altre informazioni, vedere Diagnosticare e risolvere i problemi di utilizzo elevato della CPU nel database SQL di Azure. |
DTU usato | dtu_used |
Questa metrica mostra il numero di DTU usate da un database o da un pool elastico. |
Fatturazione CPU dell'app | app_cpu_billed |
Per i database serverless, questa metrica mostra la quantità di calcolo (CPU e memoria) fatturata, espressa in secondi vCore. Per altre informazioni, vedere Fatturazione nel livello di calcolo serverless. |
Percentuale di CPU dell'app | app_cpu_percent |
Per i database serverless, questa metrica mostra il consumo della CPU verso il limite massimo di vCore del pacchetto dell'app, espresso come percentuale. Per altre informazioni, vedere Monitoraggio nel livello di calcolo serverless. |
Percentuale di memoria dell'app | app_memory_percent |
Per i database serverless, questa metrica mostra il consumo di memoria verso il limite massimo di memoria del pacchetto dell'app, espresso come percentuale. Per altre informazioni, vedere Monitoraggio nel livello di calcolo serverless. |
Numero di sessioni | sessions_count |
Questa metrica mostra il numero di sessioni utente stabilite per un database o un pool elastico. |
Spazio dati usato | storage |
Per i database, questa metrica mostra la quantità di spazio di archiviazione usato nei file di dati di un database. |
Spazio dati usato | storage_used |
Per i pool elastici, questa metrica mostra la quantità di spazio di archiviazione usato nei file di dati di tutti i database in un pool elastico. |
Spazio dati allocato | allocated_data_storage |
Questa metrica mostra la quantità di spazio di archiviazione occupato dai file di dati di un database o dai file di dati di tutti i database in un pool elastico. I file di dati possono contenere spazio vuoto. Per questo motivo, lo spazio dati allocato se spesso superiore a quello usato per lo stesso database o pool elastico. Per altre informazioni, vedere Gestire lo spazio file per i database nel database SQL di Azure. |
Percentuale di spazio dati utilizzata | storage_percent |
Per i database, questa metrica mostra la quantità di spazio di archiviazione usato nei file di dati di un database per il limite di dimensioni dei dati di un database. Per i pool elastici, mostra la quantità di spazio di archiviazione usato nei file di dati di tutti i database in un pool elastico, espressa come percentuale rispetto al limite di dimensioni dei dati di un pool elastico. Il limite di dimensioni dei dati per un database o un pool elastico potrebbe essere configurato inferiore al limite massimo di dimensioni dei dati. Per trovare il limite massimo di dimensioni dei dati, vedere Limiti delle risorse per database vCore, pool elastici vCore, database DTU e pool elastici DTU. |
Percentuale allocata dello spazio dati | allocated_data_storage_percent |
Per i pool elastici, questa metrica mostra la quantità di spazio di archiviazione occupato dai file di dati di tutti i database in un pool elastico verso il limite di dimensioni dei dati del pool, espresso come percentuale. |
Percentuale del log usato in tempdb | tempdb_log_used_percent |
Questa metrica mostra il consumo dello spazio del log delle transazioni nel tempdb database verso le dimensioni massime del log, espresse come percentuale. Per altre informazioni, vedere tempdb nel database SQL di Azure. |
Connessioni riuscite | connection_successful |
Questa metrica mostra il numero di connessioni stabilite correttamente a un database. Questa metrica può essere suddivisa per due dimensioni SslProtocol e ValidatedDriverNameAndVersion , per visualizzare il numero di connessioni usando una versione specifica del protocollo di crittografia o un driver client specifico. |
Connessioni non riuscite: errori di sistema | connection_failed |
Questa metrica mostra il numero di tentativi di connessione a un database non riuscito a causa di errori interni del servizio. In genere, tali errori sono temporanei. Questa metrica può essere suddivisa per due dimensioni Error e ValidatedDriverNameAndVersion , per visualizzare il numero di tentativi di connessione non riusciti a causa di un errore specifico o da un driver client specifico. |
Connessioni non riuscite: errori utente | connection_failed_user_error |
Questa metrica mostra il numero di tentativi di connessione a un database non riuscito a causa di errori corretti dall'utente, ad esempio una password o una connessione non corretta bloccata dal firewall. Questa metrica può essere suddivisa per due dimensioni Error e ValidatedDriverNameAndVersion , per visualizzare il numero di tentativi di connessione non riusciti a causa di un errore specifico o da un driver client specifico. |
Deadlock | deadlock |
Questa metrica mostra il numero di deadlock in un database. |
Disponibilità | availability |
La disponibilità viene determinata in base al database operativo per le connessioni. Per ogni punto dati di un minuto, i valori possibili sono 100% o 0% . Per altre informazioni, vedere Metrica di disponibilità. |
Metrica di disponibilità
La metrica Disponibilità tiene traccia della disponibilità a livello di singolo database SQL di Azure.
La disponibilità è granulare per un minuto di interruzione della connessione. La disponibilità viene determinata in base al database operativo per le connessioni. Un minuto viene considerato inattivo o non disponibile se tutti i tentativi continui da parte degli utenti di stabilire la connessione al database durante quel minuto hanno esito negativo a causa di un problema del servizio. Se è presente un'indisponibilità intermittente, la durata dell'indisponibilità continua deve superare il limite dei minuti da considerare come tempo di inattività. In genere, la latenza per visualizzare la disponibilità è inferiore a tre minuti.
Ecco la logica usata per calcolare la disponibilità per ogni intervallo di un minuto:
- Se è presente almeno una connessione riuscita, la disponibilità è 100%.
- Se tutte le connessioni hanno esito negativo a causa di errori dell'utente, la disponibilità è 100%.
- Se non sono presenti tentativi di connessione, la disponibilità è 100%.
- Se tutte le connessioni non riescono a causa di errori di sistema, la disponibilità è 0%.
- Attualmente, i dati delle metriche di disponibilità non vengono supportati dal livello di calcolo serverless e risultano 100%.
La metrica di disponibilità è quindi una metrica composita derivata dalle metriche esistenti seguenti:
- Connessioni riuscite
- Connessioni non riuscite: errori utente
- Bloccato dal firewall
- Connessioni non riuscite: errori di sistema
Gli errori utente includono tutte le connessioni che hanno esito negativo a causa della configurazione utente, del carico di lavoro o della gestione. Gli errori di sistema includono tutte le connessioni che hanno esito negativo a causa di problemi temporanei correlati al servizio database SQL di Azure.
Esempi di errori causati dalla configurazione utente:
- Correlato al firewall
- Credenziali utente non corrette
- L'applicazione non è in grado di connettersi
- Timeout della connessione causato dall'applicazione
Esempi di errori causati dal carico di lavoro dell'utente:
Esempi di errori causati dalla gestione degli utenti:
- Aumento o riduzione del database o del pool elastico
- La replicazione geografica pianificata o il failover forzato
- Failover pianificato o forzato del gruppo di failover
- Database secondario Geo in stato di inizializzazione
- Database in stato di ripristino a causa del ripristino temporizzato (PITR), ripristino a lungo termine (LTR) o ripristino da un database eliminato
- Database non ancora terminato di essere copiato (Copia del database)
Avvisi
È possibile creare regole di avviso per notificare che il valore di una metrica o più metriche non rientra in un intervallo previsto.
È possibile impostare l'ambito di una regola di avviso in diversi modi per soddisfare le proprie esigenze. Ad esempio, l'ambito della regola di avviso può essere impostato su:
- Un database singolo
- Un pool elastico
- Tutti i database o i pool elastici in un gruppo di risorse
- Tutti i database o i pool elastici in una sottoscrizione all'interno di un'area di Azure
- Tutti i database o i pool elastici all'interno di tutte le aree di una sottoscrizione
Le regole di avviso valutano periodicamente i valori aggregati delle metriche in un periodo di lookback, confrontandoli con un valore soglia. È possibile configurare il valore soglia, la frequenza di valutazione e il periodo di lookback.
Se viene attivata una regola di avviso , si riceve una notifica in base alle preferenze di notifica specificate nel gruppo di azioni collegato alla regola di avviso. Ad esempio, è possibile ricevere un messaggio di posta elettronica, un SMS o una notifica vocale. Una regola di avviso può anche attivare azioni come webhook, runbook di automazione , funzioni, app per la logica e così via. È possibile integrare gli avvisi con i prodotti di gestione dei servizi IT supportati.
Per altre informazioni sugli avvisi di Monitoraggio di Azure, vedere Panoramica degli avvisi di Monitoraggio di Azure. Per acquisire familiarità con gli avvisi delle metriche, vedere Avvisi delle metriche, Gestire le regole di avviso e Gruppi di azioni.
Regole di allerta consigliate
Le metriche e le soglie ottimali da usare nelle regole di avviso variano in base all'ampia gamma di carichi di lavoro dei clienti nel database SQL di Azure.
Gli avvisi consigliati nella tabella seguente sono un punto di partenza per definire la configurazione ottimale degli avvisi per le risorse del database SQL di Azure. A seconda dei requisiti, la configurazione potrebbe essere diversa da questo esempio. È possibile usare soglie, frequenze di valutazione o periodi di lookback diversi. È possibile scegliere di creare avvisi aggiuntivi o usare configurazioni di regole di avviso diverse per applicazioni e ambienti diversi.
Di seguito sono riportati esempi di configurazioni tipiche delle regole di avviso.
Nome della regola di notifica | Metrica (segnale) | Logica di avviso | Quando valutare | Gravità suggerita |
---|---|---|---|---|
Utilizzo elevato della CPU utente | Percentuale CPU | Soglia: Aggregazione: Static Average Operatore: Greater than Valore soglia: 90 |
Controlla ogni: 1 minute Periodo di retrospettiva: 10 minutes |
2 - Avviso |
Utilizzo elevato della CPU totale | Percentuale della CPU dell'istanza SQL | Soglia: Aggregazione: Static Average Operatore: Greater than Valore soglia: 90 |
Controlla ogni: 1 minute Periodo di retrospettiva: 10 minutes |
2 - Avviso |
Utilizzo elevato dei lavoratori | Percentuale dei lavoratori | Soglia: Aggregazione: Static Minimum Operatore: Greater than Valore soglia: 60 |
Controlla ogni: 1 minute Periodo di retrospettiva: 5 minutes |
1 - Errore |
Utilizzo elevato di I/O dei dati | Percentuale I/O dei dati | Soglia: Aggregazione: Static Average Operatore: Greater than Valore soglia: 90 |
Controlla ogni: 1 minute Periodo di retrospettiva: 15 minutes |
3 - A scopo informativo |
Spazio dati insufficiente | Percentuale di spazio dati utilizzata | Soglia: Aggregazione: Static Minimum Operatore: Greater than Valore soglia: 95 |
Controlla ogni: 15 minute Periodo di retrospettiva: 15 minutes |
1 - Errore |
Spazio di log ridotto tempdb |
Percentuale del log usato in tempdb | Soglia: Aggregazione: Static Minimum Operatore: Greater than Valore soglia: 60 |
Controlla ogni: 1 minute Periodo di retrospettiva: 5 minutes |
1 - Errore |
Deadlock | Deadlock | Soglia: Dynamic Aggregazione: Total Operatore: Greater than Sensibilità soglia: Medium |
Controlla ogni: 15 minutes Periodo di retrospettiva: 1 hour |
3 - A scopo informativo |
Connessioni non riuscite (errori utente) | Connessioni non riuscite: errori utente | Soglia: Dynamic Aggregazione: Total Operatore: Greater than Sensibilità soglia: Medium |
Controlla ogni: 5 minutes Periodo di retrospettiva: 15 minutes |
2 - Avviso |
Connessioni non riuscite (errori di sistema) | Connessioni non riuscite: errori di sistema | Soglia: Static Aggregazione: Total Operatore: Greater than Unità: Count Valore soglia: 10 |
Controlla ogni: 1 minute Periodo di retrospettiva: 5 minutes |
2 - Avviso |
Frequenza di connessione anomala | Connessioni riuscite | Soglia: Dynamic Aggregazione: Total Operatore: Greater or Less than Sensibilità soglia: Low |
Controlla ogni: 5 minutes Periodo di retrospettiva: 15 minutes |
2 - Avviso |
Alcune delle regole di avviso consigliate usano soglie dinamiche per rilevare modelli di metrica anomali che potrebbero richiedere attenzione. Le regole di avviso basate su soglie dinamiche non vengono attivate finché non vengono raccolti dati cronologici sufficienti per stabilire modelli normali. Per altre informazioni, vedere Soglie dinamiche negli avvisi delle metriche.
Per impostazione predefinita, gli avvisi delle metriche mantengono lo stato. Ciò significa che una volta attivata una regola di avviso, l'avviso viene generato una sola volta. L'avviso fired
rimane nello stato fino a quando non viene risolto, a quel punto viene inviata una resolved
notifica. Una regola di avviso attiva un nuovo avviso solo dopo la risoluzione dell'avviso precedente. Gli avvisi di stato evitano notifiche frequenti su una condizione persistente. Per altre informazioni sugli avvisi con stato e senza stato, vedere Avvisi e stato.
Contenuti correlati
- Panoramica delle metriche di Monitoraggio di Azure
- Monitorare i carichi di lavoro SQL di Azure con Database Watcher (anteprima)
- Analizzare le metriche con Esplora metriche di Monitoraggio di Azure
- Aggregazione e visualizzazione delle metriche di Monitoraggio di Azure
- Panoramica degli avvisi di Monitoraggio di Azure
- Esercitazione: Creare un avviso di metrica per una risorsa di Azure
- Procedure consigliate per gli avvisi di Monitoraggio di Azure
- Risoluzione dei problemi negli avvisi di Monitoraggio di Azure
- Monitoraggio e ottimizzazione delle prestazioni nel database SQL di Azure e in Istanza gestita di SQL di Azure
- Configurare l'esportazione in streaming della telemetria diagnostica del database SQL di Azure e della Istanza gestita di SQL