Monitorare Database di Azure per MySQL - Server flessibile
SI APPLICA A: Database di Azure per MySQL - Server flessibile
Nota
Questo articolo contiene riferimenti al termine slave, che Microsoft non usa più. Quando il termine verrà rimosso dal software, verrà rimosso anche dall'articolo.
Database di Azure per MySQL server flessibile fornisce il monitoraggio dei server tramite Monitoraggio di Azure. Il monitoraggio dei dati relativi ai server facilita la risoluzione dei problemi e l'ottimizzazione in relazione al carico di lavoro.
In questo articolo vengono fornite informazioni sulle varie metriche disponibili e sui log del server per il server flessibile, che forniscono informazioni dettagliate sul suo comportamento.
Metrica
Le metriche sono valori numerici che descrivono alcuni aspetti delle risorse del server in un determinato momento. Il monitoraggio delle risorse del server consente di risolvere i problemi e ottimizzare il carico di lavoro consentendo di monitorare gli aspetti più importanti. Il monitoraggio delle metriche corrette consente di mantenere le prestazioni, l'affidabilità e la disponibilità del server e delle applicazioni.
Database di Azure per MySQL server flessibile fornisce varie metriche che consentono di comprendere le prestazioni del carico di lavoro. In base a questi dati, è possibile comprendere l'impatto sul server e sull'applicazione.
Tutte le metriche di Azure hanno una frequenza di un minuto e offrono ciascuna una cronologia di 30 giorni. È possibile configurare avvisi in base alle metriche. Vedere Come configurare gli avvisi. Le altre attività includono la configurazione di azioni automatiche, l'esecuzione di analisi avanzate e l'archiviazione della cronologia. Per altre informazioni, vedere Panoramica delle metriche in Microsoft Azure.
Risolvere i problemi relativi alle metriche
In alcuni casi, è possibile riscontrare problemi con la creazione, la personalizzazione o l'interpretazione dei grafici in Esplora metriche di Azure.
Un grafico che non mostra alcun dato potrebbe essere visualizzato a causa di vari fattori. Questi potrebbero includere il provider di risorse di Microsoft Insights non registrato per la sottoscrizione o che mancano diritti di accesso adeguati per il server flessibile Database di Azure per MySQL. Altre possibilità possono essere che la risorsa non ha generato metriche entro l'intervallo di tempo scelto o che l'intervallo di tempo selezionato supera i 30 giorni.
Diversi motivi che seguono possono causare questo comportamento:
- Il provider di risorse Microsoft.Insights non è registrato: per l'esplorazione delle metriche è necessario che nella sottoscrizione sia registrato il provider di risorse Microsoft.Insights. Registrare manualmente il server seguendo la procedura descritta in Provider e tipi di risorse di Azure.
- Diritti di accesso insufficienti per la risorsa: assicurarsi di disporre di autorizzazioni sufficienti per il server flessibile Database di Azure per MySQL da cui si stanno esplorando le metriche. La risorsa non ha generato metriche durante l'intervallo di tempo selezionato. Modificare il tempo di una metrica specificando un intervallo più ampio. In Azure il controllo degli accessi in base al ruolo (Azure RBAC) controlla l’accesso alle metriche. Per esplorare le metriche per qualsiasi risorsa, è necessario disporre del ruolo di lettore di monitoraggio, collaboratore al monitoraggio o collaboratore.
- La risorsa non ha generato metriche durante l'intervallo di tempo selezionato: questo potrebbe essere dovuto a diversi motivi. Una possibilità è che la risorsa non abbia generato metriche entro l'intervallo di tempo scelto. Modificare l'ora del grafico impostando un intervallo più ampio per verificare se il problema viene risolto. Per informazioni più dettagliate sulla risoluzione di questo problema, vedere la guida alla risoluzione dei problemi delle metriche di Monitoraggio di Azure.
- Intervallo di tempo maggiore di 30 giorni: verificare che la differenza tra le date di inizio e le date di fine nella selezione ora non superino l'intervallo di 30 giorni. Per informazioni più dettagliate sulle metriche di risoluzione, vedere la guida alla risoluzione dei problemi delle metriche di Monitoraggio di Azure.
- Indicazione linea tratteggiata: in Monitoraggio di Azure, una linea tratteggiata indica un intervallo nei dati o un "valore Null", tra due punti di dati con granularità temporale nota. Si tratta di una progettazione intenzionale che consente di rilevare i punti dati mancanti. Se il grafico visualizza linee tratteggiate, indica i dati mancanti. Per altre informazioni, consultare la documentazione sull'autenticazione.
Per informazioni più dettagliate sulle metriche di risoluzione, vedere la guida alla risoluzione dei problemi delle metriche di Monitoraggio di Azure.
Nota
Le metriche contrassegnate come deprecate vengono pianificate per essere rimosse dal portale di Azure. È consigliabile ignorare queste metriche durante il monitoraggio del server flessibile Database di Azure per MySQL.
Elenco delle metriche
Queste metriche sono disponibili per Database di Azure per MySQL server flessibile:
Nome visualizzato della metrica | Metric | Unità | Descrizione |
---|---|---|---|
Tempo di attività di MySQL | tempo di attività | Secondi | Questa metrica indica la durata dell'esecuzione del server MySQL. |
Percentuale CPU dell’host | cpu_percent | Percentuale | La percentuale CPU dell’host è l'utilizzo totale della CPU per elaborare tutte le attività nel server in un periodo selezionato. Questa metrica include il carico di lavoro dell'istanza del server flessibile Database di Azure per MySQL e del processo mySQL di Azure. La percentuale di CPU elevata consente di trovare se il server di database ha più carico di lavoro di quello che può gestire. Questa metrica equivale all'utilizzo totale della CPU ed è simile all'utilizzo della CPU in qualsiasi macchina virtuale. |
Crediti CPU consumati | cpu_credits_consumed | Count | Questo vale solo per il livello con possibilità di burst Il credito CPU viene calcolato in base al carico di lavoro. Per altre informazioni, vedere Dimensioni delle macchine virtuali delle serie B con possibilità di burst. |
Credito CPU rimanente | cpu_credits_remaining | Count | Questo vale solo per il livello con possibilità di burst Il CPU remanente viene calcolato in base al carico di lavoro. Per altre informazioni, vedere Dimensioni delle macchine virtuali delle serie B con possibilità di burst. |
Rete host in ingresso | network_bytes_ingress | Byte | Somma totale del traffico di rete in ingresso nel server per un periodo selezionato. Questa metrica include il traffico verso il database e Database di Azure per MySQL funzionalità del server flessibile, ad esempio monitoraggio, log e così via. |
Rete host in uscita | network_bytes_egress | Byte | Somma totale del traffico di rete in uscita nel server per un periodo selezionato. Questa metrica include il traffico dal database e Database di Azure per MySQL funzionalità del server flessibile, ad esempio monitoraggio, log e così via. |
Connessioni attive | active_connection | Count | Numero di connessioni al server attive. Le connessioni attive sono il numero totale di thread connessi al server, che includxe anche thread da azure_superuser. |
Percentuale I/O di archiviazione | io_consumption_percent | Percentuale | Percentuale di I/O usata in un periodo selezionato. La percentuale di I/O è per operazioni di IO al secondo di lettura e scrittura. |
Conteggi di I/O di archiviazione | storage_io_count | Count | Conteggio totale delle operazioni di I/O del server (lettura e scrittura) al minuto. |
Percentuale memoria | memory_percent | Percentuale | La metrica Percentuale memoria (memory_percent) rappresenta la percentuale di memoria occupata dal processo del server MySQL di Azure (mysqld). Questa metrica viene calcolata in base alle dimensioni totali della memoria (GB) disponibili nel server flessibile Database di Azure per MySQL. |
Totale connessioni | total_connections | Count | Numero di connessioni client all'istanza del server flessibile Database di Azure per MySQL. Total Connections è la somma delle connessioni client che usano il protocollo TCP/IP in un periodo selezionato. |
Connessioni interrotte | aborted_connections | Count | Numero totale di tentativi non riusciti di connettersi all'istanza del server flessibile Database di Azure per MySQL, ad esempio la connessione non riuscita a causa di credenziali non riuscite. Per altre informazioni sulle connessioni interrotte, vedere questo documento. |
Query | queries | Count | Numero totale di query eseguite al minuto nel server. Numero totale di query al minuto nel server dal carico di lavoro del database e dai processi di Azure MySQL. |
Slow_queries | slow_queries | Count | Il numero totale di query lente nel server nell'intervallo di tempo selezionato. |
Transazioni attive | active_transactions | Count | Questa metrica rappresenta il numero totale di transazioni all'interno di MySQL. Le transazioni attive includono tutte le transazioni avviate ma che devono ancora essere sottoposte a commit o rollback. |
Metriche di suddivisione dell'archiviazione
Le metriche di suddivisione dell'archiviazione forniscono informazioni dettagliate preziose sull'utilizzo dello spazio di archiviazione del server flessibile Database di Azure per MySQL. Queste metriche offrono una suddivisione dettagliata del limite di archiviazione, della percentuale di archiviazione, dell'archiviazione usata, dell'archiviazione dei dati usata, dell'archiviazione ibdata1 usata, dell'archiviazione binlog usata, dell'altra risorsa di archiviazione usata e dell'archiviazione di backup usata. Monitorando queste metriche, è possibile gestire in modo efficace le risorse di archiviazione, ottimizzare l'allocazione dell'archiviazione e garantire un utilizzo efficiente della capacità di archiviazione del server. Comprendere le metriche di scomposizione dell'archiviazione consente di prendere decisioni informate per mantenere le prestazioni e la disponibilità del server flessibile Database di Azure per MySQL.
La tabella seguente elenca le metriche di scomposizione dell'archiviazione disponibili per Database di Azure per MySQL server flessibile:
Nome visualizzato della metrica | Metric | Unità | Descrizione |
---|---|---|---|
Limite di archiviazione | storage_limit | Byte | Le dimensioni di archiviazione massime configurate per il server. |
Percentuale di archiviazione | storage_percent | Percentuale | La percentuale di spazio di archiviazione usata rispetto al massimo di spazio disponibile del server. |
Archiviazione usata | storage_used | Byte | Quantità di spazio di archiviazione in uso. Lo spazio di archiviazione usato dal servizio può includere file di database, log delle transazioni e log del server. |
Archiviazione dei dati usata | data_storage_used | Byte | Quantità di spazio di archiviazione utilizzata per l'archiviazione dei file di database. |
ibdata1 Archiviazione usata | ibdata1_storage_used | Byte | La quantità di spazio di archiviazione utilizzata per l'archiviazione del file (ibdata1) dello spazio di tabella del sistema. |
Spazio di archiviazione Binlog usato | binlog_storage_used | Byte | Quantità di spazio di archiviazione utilizzata per l'archiviazione dei file di resoconto binari. |
Altre risorse di archiviazione usate | other_storage_used | Byte | Quantità di spazio di archiviazione usato per altri componenti e file di metadati. |
Archivio di backup usato | backup_storage_used | Byte | Quantità di risorse dell'archivio di backup usate. |
Metriche di replica
Le metriche di replica forniscono informazioni dettagliate preziose sulle prestazioni e sullo stato della replica in Database di Azure per MySQL server flessibile. Queste metriche consentono di monitorare il ritardo della replica, controllare lo stato delle repliche e dei thread I/O o SQL a disponibilità elevata e misurare la latenza di replica. Monitorando queste metriche, è possibile garantire l'affidabilità e l'efficienza della configurazione della replica, identificare eventuali potenziali problemi o ritardi ed eseguire azioni appropriate per mantenere la coerenza e la disponibilità dei dati. Verranno ora esaminate le diverse metriche di replica disponibili per Database di Azure per MySQL server flessibile.
La tabella seguente elenca le metriche di replica disponibili per Database di Azure per MySQL server flessibile:
Nome visualizzato della metrica | Metric | Unità | Descrizione |
---|---|---|---|
Ritardo di replica | replication_lag | Secondi | Il ritardo di replica è il numero di secondi dietro la replica durante la riproduzione delle transazioni ricevute dal server di origine. Questa metrica viene calcolata da "Seconds_behind_Master" dal comando "SHOW SLAVE STATUS" ed è disponibile solo per i server di replica. Per altre informazioni, vedere "Latenza di replica del monitoraggio" |
Stato I/O della replica | replica_io_running | Provincia | Stato I/O della replica indica lo stato del thread di I/O di replica. Il valore della metrica è 1 se il thread di I/O viene eseguito e 0 in caso contrario. |
Stato SQL della replica | replica_sql_running | Provincia | Stato SQL della replica indica lo stato del thread di SQL di replica. Il valore della metrica è 1 se il thread SQL viene eseguito e 0 in caso contrario. |
Stato di I/O a disponibilità elevata | ha_io_running | Provincia | Lo stato di I/O a disponibilità elevata indica lo stato della replica a disponibilità elevata. Il valore della metrica è 1 se il thread di I/O viene eseguito e 0 in caso contrario. |
Stato SQL a disponibilità elevata | ha_sql_running | Provincia | Lo stato di SQL a disponibilità elevata indica lo stato della replica a disponibilità elevata. Il valore della metrica è 1 se il thread SQL viene eseguito e 0 in caso contrario. |
Ritardo della replica a disponibilità elevata | ha_replication_lag | Secondi | Il ritardo della replica a disponibilità elevata è il numero di secondi in cui il server standby a disponibilità elevata è in ritardo nella riproduzione delle transazioni ricevute dal server di origine. Questa metrica viene calcolata da "Seconds_behind_Master" dal comando "SHOW SLAVE STATUS" ed è disponibile solo per i server di standby a disponibilità elevata. |
Metriche avanzate
Oltre alle metriche standard fornite da Database di Azure per MySQL server flessibile, sono disponibili metriche avanzate per ottenere informazioni più approfondite sulle prestazioni del server. Queste metriche avanzate forniscono informazioni più granulari sugli aspetti specifici del carico di lavoro.
Statistiche DML
Le metriche delle statistiche DML (Data Manipulation Language) offrono visibilità sul numero di istruzioni select, update, insert e delete eseguite nel server. Monitorando queste metriche, è possibile tenere traccia dell'utilizzo e delle prestazioni delle operazioni del database e identificare eventuali colli di bottiglia o inefficienze.
Nome visualizzato della metrica | Metric | Unità | Descrizione |
---|---|---|---|
Com_select | Com_select | Count | Numero totale di istruzioni select eseguite nel server nell'intervallo di tempo selezionato. |
Com_update | Com_update | Count | Numero totale di istruzioni di aggiornamento eseguite nel server nell'intervallo di tempo selezionato. |
Com_insert | Com_insert | Count | Numero totale di istruzioni insert eseguite nel server nell'intervallo di tempo selezionato. |
Com_delete | Com_delete | Count | Numero totale di istruzioni eliminate eseguite nel server nell'intervallo di tempo selezionato. |
Statistiche DDL
Le metriche delle statistiche DDL (Data Definition Language) forniscono informazioni sulla frequenza con cui è possibile creare un database, eliminare un database, creare una tabella, eliminare una tabella e modificare le istruzioni di tabella eseguite nel server. Queste metriche consentono di comprendere la frequenza e l'impatto delle modifiche dello schema nel database, consentendo di ottimizzare la progettazione del database e migliorare le prestazioni complessive.
Nome visualizzato della metrica | Metric | Unità | Descrizione |
---|---|---|---|
Com_create_db | Com_create_db | Count | Numero totale di istruzioni di database create eseguite nel server nell'intervallo di tempo selezionato. |
Com_drop_db | Com_drop_db | Count | Numero totale di istruzioni di eliminazione del database eseguite nel server nell'intervallo di tempo selezionato. |
Com_create_table | Com_create_table | Count | Numero totale di istruzioni create table eseguite nel server nell'intervallo di tempo selezionato. |
Com_drop_table | Com_drop_table | Count | Numero totale di istruzioni drop table eseguite nel server nell'intervallo di tempo selezionato. |
Com_Alter | Com_Alter | Count | Numero totale di istruzioni alter table eseguite nel server nell'intervallo di tempo selezionato. |
Metriche innodb
Le metriche di Innodb sono incentrate sulle prestazioni del motore di archiviazione InnoDB, ovvero il motore predefinito per Database di Azure per MySQL server flessibile. Queste metriche includono il tempo di blocco delle righe innoDB, le attese di blocco delle righe innoDB, le letture del pool di buffer Innodb, le richieste di lettura del pool di buffer Innodb e altro ancora. Monitorando queste metriche, è possibile ottenere informazioni dettagliate sull'efficienza e sull'efficacia dei meccanismi di archiviazione e memorizzazione nella cache del database.
Queste metriche avanzate forniscono informazioni preziose per ottimizzare il carico di lavoro e migliorare le prestazioni del server flessibile Database di Azure per MySQL. Usando queste metriche, è possibile prendere decisioni basate sui dati per migliorare la scalabilità, l'affidabilità e l'efficienza delle operazioni del database.
Nome visualizzato della metrica | Metric | Unità | Descrizione |
---|---|---|---|
Tempo di blocco delle righe innoDB | innodb_row_lock_time | Millisecondi | Il tempo di blocco delle righe innoDB misura la durata in millisecondi per i blocchi a livello di riga innoDB. |
Attese blocchi di riga innoDB | innodb_row_lock_waits | Count | La metrica di attesa dei blocchi di riga innoDB conta il numero di volte in cui una query ha dovuto attendere un blocco a livello di riga innoDB. |
Innodb_buffer_pool_reads | Innodb_buffer_pool_reads | Count | Numero totale di letture logiche che il motore InnoDB non è riuscito a soddisfare dal pool di buffer Innodb e che deve essere recuperato dal disco. |
Innodb_buffer_pool_read_requests | Innodb_buffer_pool_read_requests | Count | Numero totale di richieste di lettura logiche da leggere dal pool di buffer Innodb. |
Innodb_buffer_pool_pages_free | Innodb_buffer_pool_pages_free | Count | Numero totale di pagine gratuite nel pool di buffer InnoDB. |
Innodb_buffer_pool_pages_data | Innodb_buffer_pool_pages_data | Count | Numero totale di pagine nel pool di buffer InnoDB contenente dati. Il numero include sia pagine dirty che clean. |
Innodb_buffer_pool_pages_dirty | Innodb_buffer_pool_pages_dirty | Count | Numero totale di pagine nel pool di buffer InnoDB contenente pagine dirty. |
Lunghezza elenco cronologia MySQL | trx_rseg_history_len | Count | Questa metrica calcola il numero di modifiche nel database, in particolare il numero di record contenenti le modifiche precedenti. È correlato alla frequenza delle modifiche apportate ai dati, causando la creazione di nuove versioni di riga. Una lunghezza crescente dell'elenco cronologia può influire sulle prestazioni del database. |
Timeout blocco mySQL | lock_timeouts | Count | Questa metrica rappresenta il numero di timeout di una query a causa di un blocco. Ciò si verifica in genere quando una query attende un blocco su una riga o una tabella contenuta in un'altra query per un periodo di tempo maggiore rispetto all'impostazione innodb_lock_wait_timeout . |
Deadlock di blocco mySQL | lock_deadlock | Count | Questa metrica rappresenta il numero di deadlock nell'istanza del server flessibile Database di Azure per MySQL nel periodo selezionato. |
Log del server
In Database di Azure per MySQL server flessibile gli utenti possono configurare e scaricare i log del server per facilitare la risoluzione dei problemi. Con questa funzionalità abilitata, un'istanza del server flessibile Database di Azure per MySQL avvia l'acquisizione di eventi del tipo di log selezionato e li scrive in un file. È quindi possibile usare il portale di Azure e l'interfaccia della riga di comando di Azure per scaricare i file da usare. La funzionalità di log del server è disabilitata per impostazione predefinita. Per informazioni su come abilitare i log del server, vedere Come abilitare e scaricare i log del server per Database di Azure per MySQL server flessibile.
I log del server supportano l'abilitazione e il download di log di query lente e log degli errori. Per eseguire un'analisi cronologica dei dati, nel portale di Azure, nel riquadro Impostazioni di diagnostica per il server aggiungere un'impostazione di diagnostica per inviare i log all'area di lavoro Log Analytics, Archiviazione di Azure o hub eventi. Per altre informazioni, vedere Impostazioni di diagnostica.
Conservazione dei log del server
Quando la registrazione è abilitata per un'istanza del server flessibile Database di Azure per MySQL, i log sono disponibili fino a sette giorni dalla creazione. Se le dimensioni totali dei log disponibili superano 7 GB, i file meno recenti vengono eliminati fino a quando non è disponibile dello spazio. Il limite di archiviazione di 7 GB per i log del server è disponibile gratuitamente e non può essere esteso. I log vengono ruotati ogni 24 ore o 500 MB, a seconda del valore raggiunto per primo.