Monitorare le metriche in Database di Azure per PostgreSQL - Server flessibile

SI APPLICA A: Database di Azure per PostgreSQL - Server flessibile

Il monitoraggio dei dati relativi ai server facilita la risoluzione dei problemi e l'ottimizzazione in relazione al carico di lavoro. Database di Azure per PostgreSQL server flessibile offre diverse opzioni di monitoraggio per fornire informazioni dettagliate sulle prestazioni del server.

Metriche

Database di Azure per PostgreSQL server flessibile fornisce varie metriche che forniscono informazioni dettagliate sul comportamento delle risorse che supportano l'istanza del server flessibile Database di Azure per PostgreSQL. Ogni metrica viene generata a intervalli di 1 minuto e ha fino a 93 giorni di cronologia. È possibile configurare avvisi in base alle metriche. Altre opzioni includono la configurazione di azioni automatizzate, l'esecuzione di analisi avanzate e l'archiviazione della cronologia. Per altre informazioni, vedere Panoramica delle metriche in Microsoft Azure.

Nota

Mentre le metriche vengono archiviate per 93 giorni, è possibile eseguire query solo (nel riquadro Metriche) per un massimo di 30 giorni di dati in un singolo grafico. Se viene visualizzato un grafico vuoto o il grafico visualizza solo parte dei dati delle metriche, verificare che la differenza tra le date di inizio e di fine nella selezione ora non superi l'intervallo di 30 giorni. Dopo aver selezionato un intervallo di 30 giorni, è possibile visualizzare una panoramica della finestra di conservazione completa.

Metriche predefinite

Per un'istanza del server flessibile Database di Azure per PostgreSQL sono disponibili le metriche seguenti:

Nome visualizzato ID metrica Unità Descrizione Impostazione predefinita abilitata
Connessioni attive active_connections Conteggio Numero totale di connessioni al server di database, inclusi tutti gli stati di connessione, ad esempio attivo, inattiva e altri, come illustrato nella pg_stat_activity visualizzazione. Questa figura rappresenta la somma complessiva delle connessioni tra tutti gli stati, senza distinguere tra stati specifici. Per un'analisi approfondita di uno stato specifico, ad esempio connessioni attive, fare riferimento alla metrica "Sessioni per stato".
Backup Archiviazione usato backup_storage_used Byte Quantità di spazio di archiviazione di backup usato. Questa metrica rappresenta la somma dello spazio di archiviazione utilizzato da tutti i backup completi, i backup differenziali e i backup del log conservati in base al periodo di conservazione dei backup impostato per il server. La frequenza dei backup è gestita dal servizio. Per l'archiviazione con ridondanza geografica, l'utilizzo dell'archiviazione di backup è il doppio dell'utilizzo per l'archiviazione con ridondanza locale.
Connessione non riuscite connections_failed Conteggio Numero di connessioni non riuscite.
Connessione riuscite connections_succeeded Conteggio Numero di connessioni riuscite.
Crediti CPU utilizzati cpu_credits_consumed Conteggio Numero di crediti utilizzati dal server flessibile. Si applica al livello burstable.
Crediti CPU rimanenti cpu_credits_remaining Conteggio Numero di crediti disponibili per il burst. Si applica al livello burstable.
Percentuale CPU cpu_percent Percentuale Percentuale di CPU in uso.
Dimensioni database (anteprima) database_size_bytes Byte Dimensioni del database in byte.
Profondità coda disco disk_queue_depth Conteggio Numero di operazioni di I/O in sospeso sul disco dati.
IOPS iops Conteggio Numero di operazioni di I/O su disco al secondo.
NUMERO massimo di ID transazione usati maximum_used_transactionIDs Conteggio Numero massimo di ID transazione in uso.
Percentuale di memoria memory_percent Percentuale Percentuale di memoria in uso.
Rete in uscita network_bytes_egress Byte Quantità di traffico di rete in uscita.
Rete in network_bytes_ingress Byte Quantità di traffico di rete in ingresso.
Operazioni di I/O al secondo di lettura read_iops Conteggio Numero di operazioni di lettura di I/O su disco dati al secondo.
Velocità effettiva lettura read_throughput Byte Byte letti al secondo dal disco.
Archiviazione gratuito storage_free Byte Quantità di spazio di archiviazione disponibile.
percentuale Archiviazione storage_percent Percentuale Percentuale di spazio di archiviazione usato. L'archiviazione usata dal servizio può includere file di database, log delle transazioni e log del server.
Archiviazione utilizzato storage_used Byte Quantità di spazio di archiviazione usato. L'archiviazione usata dal servizio può includere i file di database, i log delle transazioni e i log del server.
Log delle transazioni Archiviazione utilizzato txlogs_storage_used Byte Quantità di spazio di archiviazione usato dai log delle transazioni.
Velocità effettiva scrittura write_throughput Byte Byte scritti su disco al secondo.
Operazioni di I/O al secondo di scrittura write_iops Conteggio Numero di operazioni di scrittura di I/O su disco dati al secondo.

Metriche avanzate

È possibile usare metriche avanzate per Database di Azure per PostgreSQL server flessibile per ottenere il monitoraggio e gli avvisi con granularità fine sui database. È possibile configurare avvisi in base alle metriche. Alcune metriche avanzate includono un Dimension parametro che è possibile usare per suddividere e filtrare i dati delle metriche usando una dimensione come il nome o lo stato del database.

Abilitazione delle metriche avanzate

  • La maggior parte di queste nuove metriche è disabilitata per impostazione predefinita. Esistono tuttavia alcune eccezioni, che sono abilitate per impostazione predefinita. La colonna più a destra nelle tabelle seguenti indica se ogni metrica è abilitata per impostazione predefinita o meno.
  • Per abilitare le metriche che non sono abilitate per impostazione predefinita, impostare il parametro metrics.collector_database_activity del server su ON. Questo parametro è dinamico e non richiede un riavvio dell'istanza.
Elenco delle metriche avanzate

È possibile scegliere tra le categorie seguenti di metriche avanzate:

  • Impegno
  • Database
  • Replica logica
  • Replica
  • Saturazione
  • Traffico
Impegno
Nome visualizzato ID metrica Unità Descrizione Dimensione Impostazione predefinita abilitata
Sessioni per stato sessions_by_state Conteggio Sessioni in base allo stato, come illustrato nella pg_stat_activity visualizzazione. Classifica i back-end client in vari stati, ad esempio attivo o inattiva. Provincia No
Sessions By WaitEventType sessions_by_wait_event_type Conteggio Sessioni in base al tipo di evento per il quale il back-end client è in attesa. Tipo di evento Wait No
Back-end meno recente oldest_backend_time_sec Secondi Età in secondi del back-end meno recente (indipendentemente dallo stato). Non applicabile No
Query meno recente longest_query_time_sec Secondi Età in secondi della query più lunga attualmente in esecuzione. Non applicabile No
Transazione meno recente longest_transaction_time_sec Secondi Validità in secondi della transazione più lunga (incluse le transazioni inattive). Non applicabile No
Xmin meno recente oldest_backend_xmin Conteggio Valore effettivo dell'oggetto meno recente xmin. Se xmin non aumenta, indica che sono presenti alcune transazioni a esecuzione prolungata che potrebbero impedire la rimozione di tuple non attive. Non applicabile No
Età xmin più antica oldest_backend_xmin_age Conteggio Età in unità del più antico xmin. Indica il numero di transazioni passate dal meno recente xmin. Non applicabile No
Database
Nome visualizzato ID metrica Unità Descrizione Dimensione Impostazione predefinita abilitata
Backend numbackends Conteggio Numero di back-end connessi al database. DatabaseName No
Deadlock deadlocks Conteggio Numero di deadlock rilevati nel database. DatabaseName No
Hit dei blocchi del disco blks_hit Conteggio Numero di volte in cui i blocchi del disco sono già stati trovati nella cache del buffer, in modo che una lettura non fosse necessaria. DatabaseName No
Lettura blocchi disco blks_read Conteggio Numero di blocchi di disco letti in questo database. DatabaseName No
File temporanei temp_files Conteggio Numero di file temporanei creati dalle query in questo database. DatabaseName No
Dimensioni file temporanei temp_bytes Byte Quantità totale di dati scritti in file temporanei da query in questo database. DatabaseName No
Totale transazioni xact_total Conteggio Numero di transazioni totali eseguite nel database. DatabaseName No
Transazioni di cui è stato eseguito il xact_commit Conteggio Numero di transazioni in questo database di cui è stato eseguito il commit. DatabaseName No
Transazioni al secondo (anteprima) tps Conteggio Numero di transazioni eseguite entro un secondo. DatabaseName No
Rollback delle transazioni xact_rollback Conteggio Numero di transazioni nel database di cui è stato eseguito il rollback. DatabaseName No
Tuple eliminate tup_deleted Conteggio Numero di righe eliminate dalle query in questo database. DatabaseName No
Tuple recuperate tup_fetched Conteggio Numero di righe recuperate dalle query in questo database. DatabaseName No
Tuple inserite tup_inserted Conteggio Numero di righe inserite dalle query in questo database. DatabaseName No
Tuple restituite tup_returned Conteggio Numero di righe restituite dalle query in questo database. DatabaseName No
Tuple aggiornate tup_updated Conteggio Numero di righe aggiornate dalle query in questo database. DatabaseName No
Replica logica
Nome visualizzato ID metrica Unità Descrizione Dimensione Impostazione predefinita abilitata
Ritardo massimo replica logica logical_replication_delay_in_bytes Byte Ritardo massimo tra tutti gli slot di replica logica. Non applicabile
Replica
Nome visualizzato ID metrica Unità Descrizione Dimensione Impostazione predefinita abilitata
Ritardo massimo replica fisica physical_replication_delay_in_bytes Byte Ritardo massimo tra tutti gli slot di replica fisica asincroni. Non applicabile
Ritardo replica lettura physical_replication_delay_in_seconds Secondi Ritardo della replica in lettura in secondi. Non applicabile
Saturazione
Nome visualizzato ID metrica Unità Descrizione Dimensione Impostazione predefinita abilitata
Percentuale di utilizzo della larghezza di banda del disco disk_bandwidth_consumed_percentage Percentuale Percentuale della larghezza di banda del disco dati utilizzata al minuto. Non applicabile
Percentuale utilizzo operazioni di I/O al secondo del disco disk_iops_consumed_percentage Percentuale Percentuale di operazioni di I/O del disco dati utilizzate al minuto. Non applicabile
Traffico
Nome visualizzato ID metrica Unità Descrizione Dimensione Impostazione predefinita abilitata
Numero massimo di connessioni ^ max_connections Conteggio Numero massimo di connessioni. Non applicabile

^ Max Connessione ions rappresenta il valore configurato per il parametro del max_connections server. Questa metrica viene eseguita ogni 30 minuti.

Considerazioni sull'uso di metriche avanzate
  • Le metriche avanzate che usano la dimensione DatabaseName hanno un limite di 50 database .
  • Nello SKU burstable il limite è 10 database per le metriche che usano la dimensione DatabaseName.
  • Il limite della dimensione DatabaseName viene applicato alla colonna identificatore di database (datid) della vista di sistema pg_stat_database, che riflette l'ordine di creazione per il database.
  • Nella DatabaseName dimensione delle metriche non viene fatta distinzione tra maiuscole e minuscole. Ciò significa che dopo aver eseguito query pg_stat_database sulla vista, filtrare le righe in cui datname è template1 o template0, ordinando datidin base a e limitando le righe restituite ai primi 50 (o 10 nel caso dello SKU burstable ), le metriche per i nomi di database nel set di risultati sono uguali, ad eccezione del caso (ad esempio, contoso_database e Contoso_database) verranno uniti e potrebbero non mostrare dati accurati.

Metriche autovacuum

Le metriche autovacuum possono essere usate per monitorare e ottimizzare le prestazioni autovacuum per Database di Azure per PostgreSQL - Server flessibile. Ogni metrica viene generata a intervalli di 30 minuti e ha fino a 93 giorni di conservazione. È possibile creare avvisi per metriche specifiche ed è possibile suddividere e filtrare i dati delle metriche usando la DatabaseName dimensione .

Come abilitare le metriche autovacuum

  • Le metriche autovacuum sono disabilitate per impostazione predefinita.
  • Per abilitare queste metriche, impostare il parametro metrics.autovacuum_diagnostics del server su ON.
  • Questo parametro è dinamico, quindi non è necessario riavviare un'istanza.

Elenco delle metriche autovacuum

Nome visualizzato ID metrica Unità Descrizione Dimensione Impostazione predefinita abilitata
Analizzare le tabelle utente contatore analyze_count_user_tables Conteggio Numero di volte in cui le tabelle solo utente sono state analizzate manualmente in questo database. DatabaseName No
Tabelle utente contatore di AutoAnalyze autoanalyze_count_user_tables Conteggio Numero di volte in cui le tabelle solo utente sono state analizzate dal daemon autovacuum in questo database. DatabaseName No
Tabelle utente contatore AutoVacuum autovacuum_count_user_tables Conteggio Numero di volte in cui il daemon autovacuum in questo database ha eseguito il vuoto delle tabelle solo utente. DatabaseName No
Percentuale bloat (anteprima) bloat_percent Percentuale Percentuale di bloat stimata solo per le tabelle utente. DatabaseName No
Tabelle utente di righe non recapitabili stimate n_dead_tup_user_tables Conteggio Numero stimato di righe non recapitabili per le tabelle solo utente in questo database. DatabaseName No
Tabelle utente delle righe live stimate n_live_tup_user_tables Conteggio Numero stimato di righe attive per le tabelle solo utente in questo database. DatabaseName No
Tabelle utente delle modifiche stimate n_mod_since_analyze_user_tables Conteggio Numero stimato di righe modificate dopo l'ultima analisi delle tabelle di sola utente. DatabaseName No
Tabelle utente analizzate tables_analyzed_user_tables Conteggio Numero di tabelle solo utente analizzate in questo database. DatabaseName No
AutoAnalyzed tabelle utente tables_autoanalyzed_user_tables Conteggio Numero di tabelle solo utente analizzate dal daemon autovacuum in questo database. DatabaseName No
AutoVacuumed tabelle utente tables_autovacuumed_user_tables Conteggio Numero di tabelle solo utente a cui è stato eseguito il vuoto dal daemon autovacuum in questo database. DatabaseName No
Contatore tabelle utente tables_counter_user_tables Conteggio Numero di tabelle solo utente in questo database. DatabaseName No
Tabelle utente con vuoto tables_vacuumed_user_tables Conteggio Numero di tabelle solo utente a cui è stato eseguito il vuoto in questo database. DatabaseName No
Tabelle utente del contatore vacuum vacuum_count_user_tables Conteggio Numero di volte in cui le tabelle solo utente sono state sottovuoto manualmente in questo database (senza contare VACUUM FULL). DatabaseName No

Considerazioni sull'uso delle metriche autovacuum

  • Le metriche autovacuum che usano la dimensione DatabaseName hanno un limite di 30 database .
  • Nello SKU burstable il limite è 10 database per le metriche che usano la dimensione DatabaseName.
  • Il limite della dimensione DatabaseName viene applicato alla colonna OID, che riflette l'ordine di creazione per il database.

Metriche pgBouncer

È possibile usare le metriche PgBouncer per monitorare le prestazioni del processo PgBouncer, inclusi i dettagli relativi alle connessioni attive, alle connessioni inattive, alle connessioni in pool totali e al numero di pool di connessioni. Ogni metrica viene generata a intervalli di 1 minuto e ha fino a 93 giorni di cronologia. I clienti possono configurare avvisi sulle metriche e accedere alle nuove dimensioni delle metriche per suddividere e filtrare i dati delle metriche in base al nome del database.

Come abilitare le metriche PgBouncer

  • Le metriche pgBouncer sono disabilitate per impostazione predefinita.
  • Per il funzionamento delle metriche PgBouncer, entrambi i pgbouncer.enabled parametri del server e metrics.pgbouncer_diagnostics devono essere abilitati.
  • Questi parametri sono dinamici e non richiedono un riavvio dell'istanza.

Elenco delle metriche PgBouncer

Nome visualizzato ID metrica Unità Descrizione Dimensione Impostazione predefinita abilitata
Connessioni client attive client_connections_active Conteggio Connessione dai client associati a una connessione server flessibile Database di Azure per PostgreSQL. DatabaseName No
Connessioni client in attesa client_connections_waiting Conteggio Connessione dai client in attesa di una connessione Database di Azure per PostgreSQL - Server flessibile per gestirli. DatabaseName No
Connessioni server attive server_connections_active Conteggio Connessione ions a Database di Azure per PostgreSQL - Server flessibile in uso da una connessione client. DatabaseName No
Connessioni server inattive server_connections_idle Conteggio Connessione ions per Database di Azure per PostgreSQL - Server flessibile inattiva e pronto per il servizio di una nuova connessione client. DatabaseName No
Totale connessioni in pool total_pooled_connections Conteggio Numero corrente di connessioni in pool. DatabaseName No
Numero di pool di connessioni num_pools Conteggio Numero totale di pool di connessioni. DatabaseName No

Considerazioni sull'uso delle metriche PgBouncer

  • Le metriche PgBouncer che usano la dimensione DatabaseName hanno un limite di 30 database .
  • Nello SKU burstable il limite è 10 database con dimensione DatabaseName.
  • Il limite della dimensione DatabaseName viene applicato alla colonna OID, che riflette l'ordine di creazione per il database.

Metrica di disponibilità del database

Is-db-alive è una metrica di disponibilità del server di database per Database di Azure per PostgreSQL server flessibile che restituisce [1 for available] e [0 for not-available]. Ogni metrica viene generata a una frequenza di 1 minuto e ha fino a 93 giorni di conservazione. I clienti possono configurare avvisi sulla metrica.

Nome visualizzato ID metrica Unità Descrizione Dimensione Impostazione predefinita abilitata
Database attivo is_db_alive Conteggio Indica se il database è in funzione o meno. N/a

Considerazioni sull'uso delle metriche di disponibilità del database

  • L'aggregazione di questa metrica con MAX() consentirà ai clienti di determinare se il server è stato verso l'alto o verso il basso nell'ultimo minuto.
  • I clienti possono aggregare ulteriormente queste metriche con qualsiasi frequenza desiderata (5m, 10m, 30m e così via) per soddisfare i requisiti di avviso ed evitare eventuali falsi positivi.
  • Altre aggregazioni possibili sono AVG() e MIN().

Filtrare e suddividere le metriche delle dimensioni

Nelle tabelle precedenti alcune metriche hanno dimensioni come DatabaseName o State. È possibile usare il filtro e la suddivisione per le metriche con dimensioni. Queste funzionalità mostrano come vari segmenti di metrica (o valori delle dimensioni) influiscano sul valore complessivo della metrica. È possibile usarli per identificare i possibili outlier.

  • Filtro: usare il filtro per scegliere i valori delle dimensioni inclusi nel grafico. Ad esempio, è possibile visualizzare le connessioni inattive quando si esegue il grafico della Sessions-by-State metrica. Impostare il filtro per Inattività nella dimensione State.
  • Suddivisione: utilizzare la suddivisione per controllare se il grafico visualizza linee separate per ogni valore di una dimensione o se aggrega i valori in una singola riga. Ad esempio, è possibile visualizzare una riga per una Sessions-by-State metrica in tutte le sessioni. È possibile visualizzare righe separate per ogni sessione raggruppata in base al valore Di stato. Applicare la suddivisione nella dimensione State per visualizzare linee separate.

Nell'esempio seguente viene illustrata la suddivisione in base alla dimensione State e il filtro in base a valori di stato specifici:

Screenshot che mostra un esempio di suddivisione e filtro per metriche e dimensioni.

Per altre informazioni sulla configurazione dei grafici per le metriche dimensionali, vedere Esempi di grafico delle metriche.

Visualizzazione delle metriche

Sono disponibili diverse opzioni per visualizzare le metriche di Monitoraggio di Azure.

Componente Descrizione Training e/o configurazione necessari
Pagina di panoramica La maggior parte dei servizi di Azure include una pagina Panoramica nella portale di Azure che include una sezione Monitoraggio con grafici che mostrano le metriche critiche recenti. Queste informazioni sono destinate ai proprietari di singoli servizi per valutare rapidamente le prestazioni della risorsa. Questa pagina si basa sulle metriche della piattaforma raccolte automaticamente. Non è richiesta alcuna configurazione.
Esplora metriche È possibile usare Esplora metriche per lavorare in modo interattivo con i dati delle metriche e creare avvisi delle metriche. È sufficiente un training minimo per utilizzare Esplora metriche, ma è necessario avere familiarità con le metriche da analizzare. - Dopo aver configurato la raccolta dati, non è necessaria alcuna altra configurazione.
- Le metriche della piattaforma per le risorse di Azure sono disponibili automaticamente.
- Le metriche guest per le macchine virtuali sono disponibili dopo la distribuzione di un agente di Monitoraggio di Azure nella macchina virtuale.
- Le metriche dell'applicazione sono disponibili dopo la configurazione di Application Insights.
Grafana È possibile usare Grafana per visualizzare e inviare avvisi sulle metriche. Tutte le versioni di Grafana includono il plug-in origine dati di Monitoraggio di Azure per visualizzare le metriche e i log di Monitoraggio di Azure. Per acquisire familiarità con i dashboard di Grafana, è necessario un training. Tuttavia, è possibile semplificare il processo scaricando un dashboard di monitoraggio grafana server grafana predefinito Database di Azure per PostgreSQL predefinito, che consente di monitorare facilmente tutte le istanze del server flessibile Database di Azure per PostgreSQL all'interno dell'organizzazione.

Registri

Oltre alle metriche, è possibile usare Database di Azure per PostgreSQL server flessibile per configurare e accedere Database di Azure per PostgreSQL log standard. Per altre informazioni, vedere Concetti relativi alla registrazione.

Visualizzazione dei log

Componente Descrizione Training e/o configurazione necessari
Log Analytics Con Log Analytics è possibile creare query di log per lavorare in modo interattivo con i dati di log e creare avvisi di query di log. Per acquisire familiarità con il linguaggio di query, è necessario un training, anche se è possibile usare query predefinite per i requisiti comuni.

Passaggi successivi