Condividi tramite


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. Il server flessibile di Database di Azure per PostgreSQL offre varie opzioni di monitoraggio che consentono di ottenere informazioni dettagliate sulle prestazioni del server.

Metrica

Il server flessibile di Database di Azure per PostgreSQL offre varie metriche che consentono di ottenere informazioni dettagliate sul comportamento delle risorse che supportano l'istanza del server flessibile di Database di Azure per PostgreSQL. Ogni metrica viene generata a intervalli di 1 minuto e ha una cronologia che può arrivare fino a 93 giorni. È possibile configurare avvisi in base alle metriche. Le altre opzioni 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.

Nota

Mentre le metriche vengono archiviate per 93 giorni, è possibile eseguire query (nel riquadro Metriche) solo per un massimo di 30 giorni di dati in un singolo grafico. Se viene visualizzato un grafico vuoto oppure il grafico visualizza solo una parte dei dati delle metriche, verificare che la differenza tra le date di inizio e di fine nel controllo di selezione dell'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 di 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, inattivo e altri, come mostrato nella visualizzazione pg_stat_activity. Questa figura rappresenta la somma complessiva delle connessioni in tutti gli stati, senza distinzioni tra stati specifici. Per un'analisi approfondita di uno stato specifico, ad esempio connessioni attive, consultare la metrica "Sessioni per stato".
Archivio di backup usato backup_storage_used Byte Quantità di risorse dell'archivio di backup usate. Questa metrica rappresenta la somma dello spazio di archiviazione utilizzato da tutti i backup completi, dei backup differenziali e dei backup del log mantenuti 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 è doppio rispetto a quello dell'archiviazione con ridondanza locale.
Connessioni non riuscite connections_failed Conteggio Numero di connessioni non riuscite.
Connessioni riuscite connections_succeeded Conteggio Numero di connessioni riuscite.
Crediti CPU usati cpu_credits_consumed Conteggio Numero di crediti utilizzati dal server flessibile. Si applica al piano con possibilità di burst.
Crediti CPU rimanenti cpu_credits_remaining Conteggio Numero di crediti disponibili per il burst. Si applica al piano con possibilità di burst.
Percentuale CPU cpu_percent Percentuale Percentuale di CPU in uso.
Dimensioni del database database_size_bytes Byte Dimensioni 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 memoria memory_percent Percentuale Percentuale di memoria in uso.
Rete 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 in uscita dal database e dal server flessibile di Database di Azure per Postgres, tra cui funzionalità come il monitoraggio, i log, l'archivio WAL, la replica e così via.
Rete 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 in ingresso al database e al server flessibile di Database di Azure per Postgres, tra cui funzionalità come il monitoraggio, i log, l'archivio WAL, la replica e così via.
Operazioni di I/O di lettura al secondo read_iops Conteggio Numero di operazioni di I/O di lettura su disco dati al secondo.
Velocità effettiva in lettura read_throughput Byte Byte letti al secondo dal disco.
Archiviazione libera storage_free Byte Quantità di spazio di archiviazione disponibile.
Percentuale di archiviazione storage_percent Percentuale Percentuale di spazio di archiviazione usato. Lo spazio di archiviazione usato dal servizio può includere file di database, log delle transazioni e log del server.
Archiviazione usata storage_used Byte Quantità di spazio di archiviazione usato. Lo spazio di archiviazione usato dal servizio può includere i file di database,i log delle transazioni e i log del server.
Archiviazione log delle transazioni usata txlogs_storage_used Byte Quantità di spazio di archiviazione usato dai log delle transazioni.
Velocità effettiva in scrittura write_throughput Byte Byte scritti su disco al secondo.
Operazioni di I/O di scrittura al secondo write_iops Conteggio Numero di operazioni di I/O di scrittura su disco dati al secondo.

Metriche avanzate

È possibile usare metriche avanzate per il server flessibile di Database di Azure per PostgreSQL per ottenere monitoraggio e avvisi dettagliati sui database. È possibile configurare avvisi in base alle metriche. Alcune metriche avanzate includono un parametro Dimension utilizzabile per suddividere e filtrare i dati delle metriche tramite 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 delle tabelle seguenti indica se ogni metrica è abilitata o meno per impostazione predefinita.
  • Per abilitare le metriche che non lo sono per impostazione predefinita, impostare il parametro del server metrics.collector_database_activity 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 mostrato nella visualizzazione pg_stat_activity. Classifica i back-end client in vari stati, ad esempio attivo o inattivo. Provincia No
Sessioni per 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 attesa 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 Età in secondi della transazione più lunga (incluse le transazioni inattive). Non applicabile No
Xmin meno recente oldest_backend_xmin Conteggio Valore effettivo del xmin meno recente. 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 meno recente oldest_backend_xmin_age Conteggio Età in unità del xmin meno recente. Indica il numero di transazioni passate dal xmin meno recente. Non applicabile No
Database
Nome visualizzato ID metrica Unità Descrizione Dimensione Impostazione predefinita abilitata
Back-end 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 nel pool di buffer, e quindi non è stata necessaria una lettura. DatabaseName No
Lettura blocchi del disco blks_read Conteggio Numero di blocchi del disco letti nel database. DatabaseName No
File temporanei temp_files Conteggio Numero di file temporanei creati dalle query nel database. DatabaseName No
Dimensione file temporanei temp_bytes Byte Quantità totale di dati scritti in file temporanei da query nel database. DatabaseName No
Totale transazioni xact_total Conteggio Numero di transazioni totali eseguite nel database. DatabaseName No
Transazioni di cui è stato eseguito il commit xact_commit Conteggio Numero di transazioni nel database di cui è stato eseguito il commit. DatabaseName No
Transazioni al secondo (anteprima) tps Conteggio Numero di transazioni eseguite in un secondo. DatabaseName No
Transazioni di cui è stato eseguito il rollback 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 nel database. DatabaseName No
Tuple recuperate tup_fetched Conteggio Numero di righe recuperate dalle query nel database. DatabaseName No
Tuple inserite tup_inserted Conteggio Numero di righe inserite dalle query nel database. DatabaseName No
Tuple restituite tup_returned Conteggio Numero di righe restituite dalle query nel database. DatabaseName No
Tuple aggiornate tup_updated Conteggio Numero di righe aggiornate dalle query nel 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 su 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 su tutti gli slot di replica fisica asincroni. Non applicabile
Ritardo replica in 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 larghezza di banda del disco disk_bandwidth_consumed_percentage Percentuale Percentuale di utilizzo della larghezza di banda del disco dati al minuto. Non applicabile
Percentuale di utilizzo operazioni di I/O al secondo del disco disk_iops_consumed_percentage Percentuale Percentuale di utilizzo delle operazioni di I/O del disco dati 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
Backlog connessione TCP (anteprima) tcp_connection_backlog Count Numero di connessioni in sospeso che superano la capacità del server PostgreSQL. Applicabile per 8 vCore e versioni successive. Provincia No
Utilizzo della CPU del processo postmaster (anteprima) postmaster_process_cpu_usage_percent Percentuale Utilizzo della CPU del processo Postmaster. Non applicabile per lo SKU con burst. Non applicabile No

^ Numero massimo di connessioni rappresenta il valore configurato per il parametro del server max_connections. Di questa metrica viene eseguito il polling 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 con possibilità di burst il limite è di 10 database per le metriche che usano la dimensione DatabaseName.
  • Il limite della dimensione DatabaseName viene applicato alla colonna identificatore database (datid) della finestra Visualizzazione di sistema pg_stat_database, che riflette l'ordine di creazione del database.
  • DatabaseName nella dimensione delle metriche non fa distinzione tra maiuscole e minuscole. Ciò significa che dopo aver eseguito query sulla visualizzazione pg_stat_database, aver filtrato le righe in cui datname è template1 o template0, aver ordinato per datid e limitato le righe restituite alle prime 50 (o 10 nel caso dello SKU con possibilità di burst), le metriche per i nomi database nel set di risultati, che sono uguali ad eccezione delle maiuscole/minuscole (ad esempio, contoso_database e Contoso_database), verranno unite e potrebbero non mostrare dati accurati.

Metriche autovacuum

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

Come abilitare le metriche autovacuum

  • Le metriche autovacuum sono disabilitate per impostazione predefinita.
  • Per abilitare queste metriche, impostare il parametro del server metrics.autovacuum_diagnostics 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
Contatore analisi tabelle utente analyze_count_user_tables Conteggio Numero di volte in cui le tabelle solo utente sono state analizzate manualmente nel database. DatabaseName No
Contatore analisi automatica tabelle utente autoanalyze_count_user_tables Conteggio Numero di volte in cui le tabelle solo utente sono state analizzate dal daemon autovacuum nel database. DatabaseName No
Contatore autovacuum tabelle utente autovacuum_count_user_tables Conteggio Numero di volte in cui il daemon autovacuum ha svuotato le tabelle solo utente nel database. DatabaseName No
Percentuale software bloat (anteprima) bloat_percent Percentuale Percentuale di software bloat stimata per le tabelle solo utente. DatabaseName No
Righe non recapitabili stimate tabelle utente n_dead_tup_user_tables Conteggio Numero stimato di righe non recapitabili per le tabelle solo utente nel database. DatabaseName No
Righe attive stimate tabelle utente n_live_tup_user_tables Conteggio Numero stimato di righe attive per le tabelle solo utente nel database. DatabaseName No
Modifiche stimate tabelle utente n_mod_since_analyze_user_tables Conteggio Numero stimato di righe modificate dopo l'ultima analisi delle tabelle solo utente. DatabaseName No
Tabelle utente analizzate tables_analyzed_user_tables Conteggio Numero di tabelle solo utente analizzate nel database. DatabaseName No
Tabelle utente analizzate in automatico tables_autoanalyzed_user_tables Conteggio Numero di tabelle solo utente analizzate dal daemon autovacuum nel database. DatabaseName No
Tabelle utente svuotate in automatico tables_autovacuumed_user_tables Conteggio Numero di tabelle solo utente svuotate dal daemon autovacuum nel database. DatabaseName No
Contatore tabelle utente tables_counter_user_tables Conteggio Numero di tabelle solo utente nel database. DatabaseName No
Tabelle utente svuotate tables_vacuumed_user_tables Conteggio Numero di tabelle solo utente svuotate nel database. DatabaseName No
Contatore svuotamento tabelle utente vacuum_count_user_tables Conteggio Numero di volte in cui le tabelle solo utente sono state svuotate manualmente nel 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 con possibilità di burst il limite è di 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 una cronologia che può arrivare fino a 93 giorni. I clienti possono configurare avvisi sulle metriche e accedere inoltre alle nuove dimensioni delle metriche per suddividere e filtrare i dati delle metriche in base al nome del database.

Come abilitare le metriche PgBouncer

  • Per monitorare le metriche PgBouncer, assicurarsi che la funzionalità pgbouncer sia abilitata tramite il parametro server pgbouncer.enabled e che il parametro metriche metrics.pgbouncer_diagnostics sia abilitato.
  • Questi parametri sono dinamici e non richiedono un riavvio dell'istanza.
  • Le metriche PgBouncer sono disabilitate per impostazione predefinita.

Elenco delle metriche PgBouncer

Nome visualizzato ID metrica Unità Descrizione Dimensione Impostazione predefinita abilitata
Connessioni client attive client_connections_active Conteggio Connessioni da client associati a una connessione server flessibile di Database di Azure per PostgreSQL. DatabaseName No
Connessioni client in attesa client_connections_waiting Conteggio Connessioni da client in attesa di una connessione server flessibile di Database di Azure per PostgreSQL che le gestisca. DatabaseName No
Connessioni server attive server_connections_active Conteggio Connessioni al server flessibile di Database di Azure per PostgreSQL in uso da parte di una connessione client. DatabaseName No
Connessioni server inattive server_connections_idle Conteggio Connessioni al server flessibile di Database di Azure per PostgreSQL inattive e pronte 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 con possibilità di burst il limite è di 10 database che hanno la 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 il server flessibile di Database di Azure per PostgreSQL che restituisce [1 for available] e [0 for not-available]. Ogni metrica viene emessa con una frequenza di 1 minuto e ha una conservazione che può arrivare fino a 93 giorni. I clienti possono configurare avvisi relativi alla metrica.

Nome visualizzato ID metrica Unità Descrizione Dimensione Impostazione predefinita abilitata
Il 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

  • Accorpare questa metrica a MAX() consentirà ai clienti di determinare se il server era in funzione o meno nell'ultimo minuto.
  • I clienti possono accorpare ulteriormente queste metriche con qualsiasi frequenza desiderata (5m, 10m, 30m e così via) per soddisfare i requisiti di avviso ed evitare falsi positivi.
  • Altri accorpamenti possibili sono AVG() e MIN().

Filtrare e suddividere le metriche con dimensioni

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

  • Filtro: usare il filtro per scegliere i valori di dimensione inclusi nel grafico. Ad esempio, è possibile visualizzare le connessioni inattive quando si esegue il grafico della metrica Sessions-by-State. Impostare il filtro Inattività nella dimensione State.
  • Suddivisione: utilizzare la suddivisione per controllare se il grafico mostra 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 metrica Sessions-by-State in tutte le sessioni. È possibile visualizzare righe separate per ogni sessione raggruppata in base al valore State. Applicare la suddivisione alla 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 State 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 ha una pagina Informazioni generali nel 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, in modo che possano 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 per le 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 sono necessarie altre configurazioni.
- 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 le metriche e inviare avvisi. 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 la procedura scaricando un dashboard di monitoraggio Grafana del server flessibile di Database di Azure per PostgreSQL predefinito, che consente di monitorare facilmente tutte le istanze del server flessibile di Database di Azure per PostgreSQL all'interno dell'organizzazione.

Registri

Oltre che per le metriche, è possibile usare il server flessibile di Database di Azure per PostgreSQL per configurare e accedere ai log standard di Database di Azure per PostgreSQL. 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 relativi alle query di log. Per acquisire familiarità con il linguaggio di query, è necessario un training, anche se è possibile usare query predefinite per le necessità comuni.

Log del server

La funzionalità Log server in Database di Azure per PostgreSQL server flessibile consente agli utenti di abilitare, configurare e scaricare i log del server, essenziali per la risoluzione dei problemi e l'esecuzione di analisi cronologiche dell'attività del server. Per impostazione predefinita, la funzionalità log del server in Database di Azure per PostgreSQL server flessibile è disabilitata. Tuttavia, dopo aver abilitato la funzionalità, Database di Azure per PostgreSQL server flessibile avvia l'acquisizione degli eventi del tipo di log selezionato e li scrive in un file. È quindi possibile usare il portale di Azure o l'interfaccia della riga di comando di Azure per scaricare i file per facilitare le attività di risoluzione dei problemi.

Conservazione dei log del server

I log del server hanno una conservazione minima di 1 giorni e la conservazione massima è di 7 giorni. Se questo limite viene superato, i log meno recenti vengono eliminati per liberare spazio per quelli nuovi. Per informazioni dettagliate sull'abilitazione e la gestione dei log del server, vedere la guida alla configurazione dei log del server.

Passaggi successivi