Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die Überwachung der Daten zu Ihren Servern unterstützt Sie bei der Problembehandlung und der Optimierung Ihrer Workloads. Ihr Azure Database for PostgreSQL flexibler Server bietet verschiedene Überwachungsoptionen, um Ihnen Einen Einblick in die Leistung Ihres Servers zu geben.
Metriken
Azure Database for PostgreSQL bietet verschiedene Metriken, die Einblicke in das Verhalten der Ressourcen liefern, die den Azure Database for PostgreSQL flexiblen Server unterstützen. Jede Metrik wird in einem Minutenintervall ausgegeben und hat bis zu 93 Tage Aufbewahrung. Sie können Warnungen für die Metriken konfigurieren. Darüber hinaus sind weitere Optionen wie das Einrichten automatisierter Aktionen, Durchführen erweiterter Analysen und Archivieren des Verlaufs verfügbar. Weitere Informationen finden Sie in der Übersicht über Azure Metrics.
Hinweis
Obwohl Metriken 93 Tage lang gespeichert werden, können Sie (in der Kachel „Metriken“) nur maximal 30 Tage lang Daten für ein einzelnes Diagramm abfragen. Wenn Sie ein leeres Diagramm sehen oder Ihr Diagramm nur einen Teil der Metrikdaten anzeigt, vergewissern Sie sich, dass die Differenz zwischen Start- und Enddatum in der Zeitauswahl das 30-Tage-Intervall nicht überschreitet. Nachdem Sie ein 30-Tage-Intervall ausgewählt haben, können Sie das Diagramm verschieben, um das vollständige Aufbewahrungsfenster anzuzeigen.
Standardmetriken
Die folgenden Metriken stehen für einen Azure Database for PostgreSQL flexiblen Server zur Verfügung:
| Anzeigename | Metrik-ID | Einheit | Description | Standardmäßig aktiviert |
|---|---|---|---|---|
| Aktive Verbindungen | active_connections |
Anzahl | Die Gesamtzahl der Verbindungen mit dem Datenbankserver, einschließlich aller Verbindungsstatus wie „Aktiv“, „Im Leerlauf“ und andere, wie in der pg_stat_activity-Ansicht angezeigt. Diese Zahl stellt die Gesamtanzahl der Verbindungen in allen Status dar, ohne zwischen bestimmten Status zu unterscheiden. Informationen zu einer tiefer gehenden Analyse eines bestimmten Status, z. B. von aktiven Verbindungen, finden Sie unter der Metrik „Sitzungen nach Status“. |
Yes |
| Verwendeter Sicherungsspeicher | backup_storage_used |
Byte-Einheiten | Die Menge des verwendeten Sicherungsspeichers. Diese Metrik stellt die Summe des Speichers dar, der von allen vollständigen Sicherungen, differenziellen Sicherungen und Protokollsicherungen verbraucht wird, die der Server basierend auf dem von Ihnen festgelegten Sicherungsaufbewahrungszeitraum aufbewahrt. Die Häufigkeit der Sicherungen wird durch den Dienst verwaltet. Bei georedundantem Speicher wird doppelt so viel Sicherungsspeicher genutzt wie bei lokal redundantem Speicher. | Yes |
| Fehlgeschlagene Verbindungen | connections_failed |
Anzahl | Die Anzahl der fehlerhaften Verbindungen. | Yes |
| Erfolgreiche Verbindungen | connections_succeeded |
Anzahl | Die Anzahl der erfolgreichen Verbindungen. | Yes |
| CPU-Gutschriften verbraucht ^ | cpu_credits_consumed |
Anzahl | Menge des vom flexiblen Server genutzten Guthabens. Gilt für die Ebene „Burstfähig“. | Yes |
| verbleibende CPU-Credits ^ | cpu_credits_remaining |
Anzahl | Gesamtmenge des Guthabens, das für den Burst verfügbar ist. Gilt für die Ebene „Burstfähig“. | Yes |
| CPU-Prozent | cpu_percent |
Prozent | Die CPU-Auslastung in Prozent. | Yes |
| Datenbankgröße | database_size_bytes |
Byte-Einheiten | Datenbankgröße in Bytes. | Yes |
| Tiefe der Datenträgerwarteschlange ^ | disk_queue_depth |
Anzahl | Anzahl offener E/A-Vorgänge für den Datenträger. | Yes |
| IOPS | iops |
Anzahl | Anzahl der E/A-Vorgänge für den Datenträger pro Sekunde. | Yes |
| Maximal verwendete Transaktions-IDs | maximum_used_transactionIDs |
Anzahl | Maximale Anzahl der verwendeten Transaktions-IDs. | Yes |
| Speichernutzung in Prozent | memory_percent |
Prozent | Die Arbeitsspeicherauslastung in Prozent. | Yes |
| Netzwerkausfall | network_bytes_egress |
Byte-Einheiten | Gesamtsumme des eingehenden Netzwerkdatenverkehrs auf dem Server für einen ausgewählten Zeitraum. Diese Metrik umfasst den ausgehenden Datenverkehr von Ihrer Datenbank und zu einer Azure Database for Postgres (Flexibler Server), einschließlich Funktionen wie Überwachung, Protokolle, WAL-Archiv, Replikation und mehr. | Yes |
| Netzwerkeingang | network_bytes_ingress |
Byte-Einheiten | Gesamtsumme des eingehenden Netzwerkdatenverkehrs auf dem Server für einen ausgewählten Zeitraum. Diese Metrik umfasst den eingehenden Datenverkehr zu Ihrer Datenbank sowie zu einem flexiblen Server von Azure Database for PostgreSQL, darunter Funktionen wie Überwachung, Protokolle, WAL-Archivierung, Replikation und mehr. | Yes |
| Lese-IOPS ^ | read_iops |
Anzahl | Anzahl der E/A-Lesevorgänge für den Datenträger pro Sekunde. | Yes |
| Lesedurchsatz ^ | read_throughput |
Byte-Einheiten | Vom Datenträger pro Sekunde gelesene Byte. | Yes |
| Kostenloser Speicher | storage_free |
Byte-Einheiten | Die Menge des verfügbaren Speichers. | Yes |
| Prozent der Speicherbelegung | storage_percent |
Prozentsatz | Die Menge des verwendeten Speichers in Prozent. Der vom Dienst verwendete Speicher kann die Datenbankdateien, Transaktionsprotokolle und Serverprotokolle umfassen. | Yes |
| Verwendeter Speicher | storage_used |
Byte-Einheiten | Die Menge des verwendeten Speichers. Der vom Dienst verwendete Speicher kann die Datenbankdateien, Transaktionsprotokolle und die Serverprotokolle enthalten. | Yes |
| Verwendeter Transaktionsprotokollspeicher | txlogs_storage_used |
Byte-Einheiten | Die Menge des von den Transaktionsprotokollen belegten Speichers. | Yes |
| Schreibdurchsatz ^ | write_throughput |
Byte-Einheiten | Pro Sekunde auf den Datenträger geschriebene Bytes. | Yes |
| IOPS schreiben ^ | write_iops |
Anzahl | Anzahl der E/A-Schreibvorgänge für den Datenträger pro Sekunde. | Yes |
Hinweis
Metriken, die mit ^ markiert sind, werden jede Minute ausgegeben, aber in fünfminütigen Intervallen verarbeitet und angezeigt. Dieser Prozess führt zu einer fünfminütigen Verzögerung in der Metriksicht. Berücksichtigen Sie beim Erstellen von Warnungen für diese Metriken diese Latenz, um eine genaue und zeitnahe Warnung sicherzustellen.
Erweiterte Metriken
Verwenden Sie erweiterte Metriken für Ihren Azure Database for PostgreSQL flexiblen Server, um eine differenzierte Überwachung und Warnung für Datenbanken zu erhalten. Jede Metrik wird in einem 1-Minuten-Intervall ausgegeben und hat bis zu 93 Tage Aufbewahrung. Sie können Warnungen für die Metriken konfigurieren. Einige erweiterte Metriken umfassen einen Dimension-Parameter, mit dem Sie Metrikdaten aufteilen und filtern können, indem Sie eine Dimension wie Datenbankname oder -status verwenden.
Aktivieren von erweiterten Metriken
- Die meisten dieser neuen Metriken sind standardmäßig deaktiviert. Die spalte ganz rechts in den folgenden Tabellen gibt an, ob jede Metrik standardmäßig aktiviert ist. Einige Metriken sind standardmäßig aktiviert.
- Um Metriken zu aktivieren, die standardmäßig nicht aktiviert sind, legen Sie den Parameter
metrics.collector_database_activityaufON. Dieser Parameter ist dynamisch und erfordert keinen Serverneustart.
Liste der erweiterten Metriken
Wählen Sie aus den folgenden Kategorien erweiterter Metriken aus:
- Activity
- Datenbank
- Logische Replikation
- Replikation
- Sättigung
- Traffic
Activity
| Anzeigename | Metrik-ID | Einheit | Description | Abmessung | Standardmäßig aktiviert |
|---|---|---|---|---|---|
| Sitzungen nach Bundesland | sessions_by_state |
Anzahl | Sitzungen nach Status, wie in der pg_stat_activity-Ansicht angezeigt. Diese Metrik kategorisiert Client-Back-Ends in verschiedene Status, z. B. aktiv oder im Leerlauf. |
Staat | Nein |
| Sitzungen nach WaitEventType | sessions_by_wait_event_type |
Anzahl | Sitzungen nach Typ des Ereignisses, auf das das Client-Back-End wartet. | Warteereignistyp | Nein |
| Ältestes Backend | oldest_backend_time_sec |
Sekunden | Das Alter des ältesten Back-Ends in Sekunden (unabhängig vom Status). | Nicht zutreffend | Nein |
| Älteste Abfrage | longest_query_time_sec |
Sekunden | Das Alter der längsten Abfrage, die derzeit ausgeführt wird, in Sekunden. | Nicht zutreffend | Nein |
| Älteste Transaktion | longest_transaction_time_sec |
Sekunden | Das Alter der längsten Transaktion in Sekunden (einschließlich inaktiver Transaktionen). | Nicht zutreffend | Nein |
| Älteste xmin | oldest_backend_xmin |
Anzahl | Der tatsächliche Wert des ältesten xmin. Wenn xmin nicht zunimmt, deutet dies darauf hin, dass einige Transaktionen mit langer Ausführungsdauer möglicherweise das Entfernen toter Tupel verhindern. |
Nicht zutreffend | Nein |
| Ältestes Xmin-Alter | oldest_backend_xmin_age |
Anzahl | Alter des ältesten xmin in Einheiten. Gibt an, wie viele Transaktionen seit dem ältesten xmin übergeben wurden. |
Nicht zutreffend | Nein |
Datenbank
| Anzeigename | Metrik-ID | Einheit | Description | Abmessung | Standardmäßig aktiviert |
|---|---|---|---|---|---|
| Backends | numbackends |
Anzahl | Die Anzahl der Back-Ends, die mit dieser Datenbank verbunden sind. | DatabaseName | Nein |
| Deadlocks | deadlocks |
Anzahl | Die Anzahl der in dieser Datenbank erkannten Deadlocks. | DatabaseName | Nein |
| Getroffene Datenträgerblöcke | blks_hit |
Anzahl | Gibt an, wie oft Datenträgerblöcke bereits im Puffercache gefunden wurden, sodass kein Lesevorgang erforderlich war. | DatabaseName | Nein |
| Gelesene Diskblöcke | blks_read |
Anzahl | Die Anzahl der in dieser Datenbank gelesenen Datenträgerblöcke. | DatabaseName | Nein |
| Temporäre Dateien | temp_files |
Anzahl | Die Anzahl der in dieser Datenbank von Abfragen erstellten temporären Dateien. | DatabaseName | Nein |
| Größe temporärer Dateien | temp_bytes |
Byte-Einheiten | Die Gesamtmenge von Daten, die von Abfragen in dieser Datenbank in temporäre Dateien geschrieben wurden. | DatabaseName | Nein |
| Transaktionen insgesamt | xact_total |
Anzahl | Die Anzahl der in dieser Datenbank insgesamt ausgeführten Transaktionen. | DatabaseName | Nein |
| Committete Transaktionen | xact_commit |
Anzahl | Anzahl der Transaktionen in dieser Datenbank, die festgeschrieben sind. | DatabaseName | Nein |
| Transaktionen pro Sekunde | tps |
Anzahl | Anzahl der innerhalb einer Sekunde ausgeführten Transaktionen. | DatabaseName | Nein |
| Transaktionen wurden zurückgesetzt | xact_rollback |
Anzahl | Anzahl der Transaktionen in dieser Datenbank, die zurückgesetzt werden. | DatabaseName | Nein |
| Gelöschte Tupel | tup_deleted |
Anzahl | Die Anzahl der Zeilen, die von Abfragen in dieser Datenbank gelöscht werden. | DatabaseName | Nein |
| Abgerufene Tupel | tup_fetched |
Anzahl | Anzahl der Zeilen, die von Abfragen in dieser Datenbank abgerufen werden. | DatabaseName | Nein |
| Eingefügte Tupel | tup_inserted |
Anzahl | Anzahl der Zeilen, die von Abfragen in dieser Datenbank eingefügt werden. | DatabaseName | Nein |
| Zurückgegebene Tupel | tup_returned |
Anzahl | Anzahl der Zeilen, die von Abfragen in dieser Datenbank zurückgegeben werden. | DatabaseName | Nein |
| Aktualisierte Tupel | tup_updated |
Anzahl | Die Anzahl der Zeilen, die von Abfragen in dieser Datenbank aktualisiert werden. | DatabaseName | Nein |
Logische Replikation
| Anzeigename | Metrik-ID | Einheit | Description | Abmessung | Standardmäßig aktiviert |
|---|---|---|---|---|---|
| Maximale logische Replikationsverzögerung | logical_replication_delay_in_bytes |
Byte-Einheiten | Die maximale Verzögerung in allen logischen Replikationsslots. | Nicht zutreffend | Yes |
| Synchronisierungsstatus des logischen Replikationsslots (Vorschau) | logical_replication_slot_sync_status |
Anzahl | Gibt an, ob logische Replikations-Slots zwischen dem High Availability (HA) Primärsystem und Standby-System synchronisiert sind. 1 → Slots werden zwischen Primärsystem und Standby-System synchronisiert. 0 → Slots werden nicht im Standbymodus synchronisiert. Stellt ein Failoverbereitschaftssignal für die logische Replikation bereit. Ein Wert von 0 gibt an, dass das System möglicherweise nicht für Failover sicher ist. Voraussetzung: Stellen Sie sicher, dass der Parameter metrics.collector_database_activity so festgelegt ist, on dass diese Metrik ausgegeben wird.Informationen zu HA-Szenarien und Failoveraspekten finden Sie unter "Unterstützung der logischen Replikation mit HA". |
Logischer Replikations-Slot | Nein |
Lesereplikat
| Anzeigename | Metrik-ID | Einheit | Description | Abmessung | Standardmäßig aktiviert |
|---|---|---|---|---|---|
| Maximale physische Replikationsverzögerung | physical_replication_delay_in_bytes |
Byte-Einheiten | Die maximale Verzögerung in allen asynchronen physischen Replikationsslots. | Nicht zutreffend | Yes |
| Lesereplikationsverzögerung | physical_replication_delay_in_seconds |
Sekunden | Die Verzögerung beim Lesen von Replikaten in Sekunden. | Nicht zutreffend | Yes |
Sättigung
| Anzeigename | Metrik-ID | Einheit | Description | Abmessung | Standardmäßig aktiviert |
|---|---|---|---|---|---|
| Prozentsatz der verbrauchten Datenträgerbandbreite ^ | disk_bandwidth_consumed_percentage |
Prozent | Pro Minute beanspruchte Datenträgerbandbreite in Prozent. | Nicht zutreffend | Yes |
| Prozentsatz der genutzten Festplatten-IOPS ^ | disk_iops_consumed_percentage |
Prozent | Der Prozentsatz der pro Minute genutzten Datenträger-I/O-Vorgänge. | Nicht zutreffend | Yes |
| Cpu-Auslastung des Postmasterprozesses | postmaster_process_cpu_usage_percent |
Prozent | CPU-Auslastung des Postmaster-Prozesses. Gilt nicht für burstfähige SKU. | Nicht zutreffend | Nein |
Hinweis
Metriken, die mit ^ markiert sind, werden jede Minute ausgegeben, aber in fünfminütigen Intervallen verarbeitet und angezeigt. Dieser Prozess führt zu einer fünfminütigen Verzögerung in der Metriksicht. Berücksichtigen Sie beim Erstellen von Warnungen für diese Metriken diese Latenz, um eine genaue und zeitnahe Warnung sicherzustellen.
Traffic
| Anzeigename | Metrik-ID | Einheit | Description | Abmessung | Standardmäßig aktiviert |
|---|---|---|---|---|---|
| Max. Anzahl von Verbindungen ** | max_connections |
Anzahl | Die maximale Anzahl von Verbindungen. | Nicht zutreffend | Yes |
| TCP-Verbindungsrückstau | tcp_connection_backlog |
Anzahl | Die Anzahl der ausstehenden TCP-Verbindungen, die auf die Verarbeitung durch den Server warten. | Nicht zutreffend | Nein |
**
Max Connections stellt den konfigurierten Wert für den max_connections Parameter dar. Das System fragt diese Metrik alle 30 Minuten ab.
Überlegungen zur Verwendung der erweiterten Metriken
- Erweiterte Metriken, die die DatabaseName-Dimension verwenden, weisen einen Grenzwert von 50 Datenbanken auf.
- Bei der Burstable-SKU beträgt das Limit 10 Datenbanken für Metriken, die die Dimension DatabaseName verwenden.
- Der Grenzwert für die Datenbankname-Dimension gilt für die Datenbankbezeichnerspalte (datid) der pg_stat_database Systemansicht, die die Reihenfolge der Erstellung für die Datenbank widerspiegelt.
- Bei
DatabaseNamein der Metrikendimension wird die Groß-/Kleinschreibung nicht beachtet. Das bedeutet, dass nach der Abfrage der Ansichtpg_stat_database, dem Herausfiltern von Zeilen, in denendatnameentwedertemplate1odertemplate0ist, dem Festlegen der Reihenfolge nachdatidund dem Begrenzen der zurückgegebenen Zeilen auf die ersten 50 (oder 10 im Fall von Burst-fähig SKU) die Metriken für Datenbanknamen in diesem Ergebnissatz, die bis auf die Groß-/Kleinschreibung gleich sind (z.B.contoso_databaseundContoso_database), zusammengeführt werden und möglicherweise keine korrekten Daten anzeigen.
Autovacuum-Metriken
Verwenden Sie Autovacuum-Metriken, um die Autovacuum-Leistung für Ihren Azure Database for PostgreSQL flexiblen Server zu überwachen und zu optimieren. Jede Metrik wird in einem Intervall von 30 Minuten ausgegeben und hat bis zu 93 Tage Aufbewahrung. Sie können Warnungen für bestimmte Metriken erstellen und Metrikdaten mithilfe der DatabaseName-Dimension aufteilen und filtern.
So aktivieren Sie Autovacuum-Metriken
- Autovacuum-Metriken sind standardmäßig deaktiviert.
- Um diese Metriken zu aktivieren, legen Sie den Parameter
metrics.autovacuum_diagnosticsaufON. - Dieser Parameter ist dynamisch, sodass kein Serverneustart erforderlich ist.
Liste der Autovacuum-Metriken
| Anzeigename | Metrik-ID | Einheit | Description | Abmessung | Standardmäßig aktiviert |
|---|---|---|---|---|---|
| Analysieren von Benutzertabellenzählern | analyze_count_user_tables |
Anzahl | Anzahl der manuellen Analysen von ausschließlich von Benutzern zugänglichen Tabellen in dieser Datenbank. | DatabaseName | Nein |
| AutoAnalyse von Benutzerzähler-Tabellen | autoanalyze_count_user_tables |
Anzahl | Häufigkeit, mit der benutzergeschützte Tabellen vom Autovacuum-Daemon in dieser Datenbank analysiert werden. | DatabaseName | Nein |
| AutoVacuum-Zähler-Benutzertabellen | autovacuum_count_user_tables |
Anzahl | Anzahl der Male, die Nur-Benutzer-Tabellen vom Autovacuum-Daemon in dieser Datenbank geleert wurden. | DatabaseName | Nein |
| Überfrachtung in Prozent | bloat_percent |
Prozent | Tabellen des geschätzten Überfrachtungsanteils nur für Benutzende. | DatabaseName | Nein |
| Geschätzte inaktive Zeilen in Benutzertabellen | n_dead_tup_user_tables |
Anzahl | Geschätzte Anzahl toter Zeilen für Nur-Benutzer-Tabellen in dieser Datenbank. | DatabaseName | Nein |
| Geschätzte aktive Zeilen in Benutzertabellen | n_live_tup_user_tables |
Anzahl | Geschätzte Anzahl aktiver Zeilen für Nur-Benutzer-Tabellen in dieser Datenbank. | DatabaseName | Nein |
| Geschätzte Änderungen für Benutzertabellen | n_mod_since_analyze_user_tables |
Anzahl | Geschätzte Anzahl von Zeilen, die seit der letzten Analyse von Nur-Benutzer-Tabellen geändert wurden. | DatabaseName | Nein |
| Analysierte Benutzertabellen | tables_analyzed_user_tables |
Anzahl | Die Anzahl der Benutzer-spezifischen Tabellen, die in dieser Datenbank analysiert werden. | DatabaseName | Nein |
| Benutzertabellen automatisch analysiert | tables_autoanalyzed_user_tables |
Anzahl | Die Anzahl der benutzerspezifischen Tabellen, die vom Autovacuum-Daemon in dieser Datenbank analysiert werden. | DatabaseName | Nein |
| Benutzertabellen AutoVacuumed | tables_autovacuumed_user_tables |
Anzahl | Anzahl der benutzergeschützten Tabellen, die vom Autovacuum-Daemon in dieser Datenbank abgesaugt werden. | DatabaseName | Nein |
| Benutzertabellenzähler | tables_counter_user_tables |
Anzahl | Anzahl der Nur-Benutzer-Tabellen in dieser Datenbank. | DatabaseName | Nein |
| Bereinigte Benutzertabellen | tables_vacuumed_user_tables |
Anzahl | Anzahl der in dieser Datenbank vakuierten, nur für Benutzer bestimmten Tabellen. | DatabaseName | Nein |
| Vakuumzähler-Benutzertabellen | vacuum_count_user_tables |
Anzahl | Anzahl der manuellen Leerung von Nur-Benutzer-Tabellen in dieser Datenbank (VACUUM FULL nicht mitgezählt). |
DatabaseName | Nein |
Überlegungen zur Verwendung der Autovacuum-Metriken
- Für Autovacuum-Metriken, die die DatabaseName-Dimension verwenden, gilt ein Limit von 30 Datenbanken.
- Bei der Burstable-SKU beträgt das Limit 10 Datenbanken für Metriken, die die Dimension DatabaseName verwenden.
- Der Dimensionsgrenzwert "DatabaseName" gilt für die OID-Spalte, die die Reihenfolge der Erstellung für die Datenbank widerspiegelt.
PgBouncer-Metriken
Verwenden Sie PgBouncer-Metriken, um die Leistung des PgBouncer-Prozesses zu überwachen. Zu diesen Metriken gehören Details zu aktiven Verbindungen, Leerlaufverbindungen, Gesamtpoolverbindungen und die Anzahl der Verbindungspools. Jede Metrik wird in einem Minutenintervall ausgegeben und hat bis zu 93 Tage Aufbewahrung. Sie können Warnungen für die Metriken konfigurieren und auf die neuen Metrikdimensionen zugreifen, um Metrikdaten nach Datenbankname aufzuteilen und zu filtern.
So aktivieren Sie PgBouncer-Metriken
- Um PgBouncer-Metriken zu überwachen, stellen Sie sicher, dass die Funktion pgbouncer über den Parameter
pgbouncer.enabledaktiviert ist, und aktivieren Sie den Metrikparametermetrics.pgbouncer_diagnostics. - Diese Parameter sind dynamisch und erfordern keinen Serverneustart.
- PgBouncer-Metriken sind standardmäßig deaktiviert.
Liste der PgBouncer-Metriken
| Anzeigename | Metrik-ID | Einheit | Description | Abmessung | Standardmäßig aktiviert |
|---|---|---|---|---|---|
| Aktive Clientverbindungen | client_connections_active |
Anzahl | Verbindungen von Clients, die einer Azure Database for PostgreSQL flexiblen Serververbindung zugeordnet sind. | DatabaseName | Nein |
| Warten auf Client-Verbindungen | client_connections_waiting |
Anzahl | Verbindungen von Clients, die auf eine Verbindung mit Azure Database for PostgreSQL – Flexibler Server warten, um sie bedienen zu können. | DatabaseName | Nein |
| Aktive Serververbindungen | server_connections_active |
Anzahl | Verbindungen zu einem flexiblen Server von Azure Database for PostgreSQL, die von einer Clientverbindung verwendet werden. | DatabaseName | Nein |
| Verbindungen zu inaktiven Servern | server_connections_idle |
Anzahl | Verbindungen zu einem flexiblen Server von Azure Database for PostgreSQL, die inaktiv sind und zur Bedienung einer neuen Clientverbindung bereitstehen. | DatabaseName | Nein |
| Gesamtanzahl der gepoolten Verbindungen | total_pooled_connections |
Anzahl | Die aktuelle Anzahl der gepoolten Verbindungen. | DatabaseName | Nein |
| Anzahl von Verbindungspools | num_pools |
Anzahl | Die Gesamtanzahl von Verbindungspools. | DatabaseName | Nein |
Überlegungen zur Verwendung der PgBouncer-Metriken
- Für PgBouncer-Metriken, die die DatabaseName-Dimension verwenden, gilt ein Limit von 30 Datenbanken.
- Auf der Burstable-SKU beträgt der Grenzwert 10 Datenbanken, die die DatabaseName-Dimension verwenden.
- Das Limit für die DatabaseName-Dimension wird auf die OID-Spalte angewendet, die die Reihenfolge der Erstellung für die Datenbank widerspiegelt.
Metrik zur Datenbankverfügbarkeit
Die is-db-alive Metrik ist eine Datenbankserververfügbarkeitsmetrik für einen Azure Database for PostgreSQL flexiblen Server. Es wird 1 für verfügbar und 0 für nicht verfügbar zurückgegeben. Jede Metrik wird mit einer Minutenfrequenz ausgegeben und hat bis zu 93 Tage Aufbewahrung. Sie können Warnungen für die Metrik konfigurieren.
| Anzeigename | Metrik-ID | Einheit | Description | Abmessung | Standardmäßig aktiviert |
|---|---|---|---|---|---|
| Datenbank ist lebendig | is_db_alive |
Anzahl | Gibt an, ob die Datenbank aktiv ist. | N/A | Yes |
Überlegungen zur Verwendung der Datenbankverfügbarkeitsmetriken
- Verwenden Sie diese Metrik zusammen mit
MAX(), um festzustellen, ob der Server in der vergangenen Minute betriebsbereit oder ausgefallen war. - Aggregieren Sie diese Metriken mit jeder gewünschten Häufigkeit (5m, 10m, 30m usw.), um Ihren Warnungsanforderungen gerecht zu werden, und vermeiden Sie falsch positive Ergebnisse.
- Die anderen möglichen Aggregationen sind
AVG()undMIN().
Filtern und Aufteilen nach Dimensionsmetriken
In den vorangehenden Tabellen weisen einige Metriken Dimensionen wie DatabaseName oder State. Sie können Filterung und Aufteilung für die Metriken verwenden, die Dimensionen aufweisen. Diese Features zeigen, wie sich verschiedene Metriksegmente (oder Dimensionswerte) auf den Gesamtwert der Metrik auswirken. Sie können sie verwenden, um mögliche Ausreißer zu identifizieren.
-
Filterung: Verwenden Sie Filterung, um auszuwählen, welche Dimensionswerte im Diagramm enthalten sind. Sie können beispielsweise die Verbindungen im Leerlauf in einem Diagramm der Metrik
Sessions-by-Stateveranschaulichen. Sie legen den Filter für Leerlauf in der „State“-Dimension fest. -
Teilen: Verwenden Sie die Aufteilung, um zu steuern, ob im Diagramm separate Linien für jeden Wert einer Dimension angezeigt werden oder ob die Werte in einer einzelnen Zeile aggregiert werden. Sie können z. B. eine
Sessions-by-State-Metrik in einer Linie für alle Sitzungen anzeigen. Sie können auch separate Linien für jede Sitzung nach „State“ gruppiert anzeigen. Wenden Sie die Aufteilung auf die „State“-Dimension an, um separate Linien anzuzeigen.
Das folgende Beispiel veranschaulicht die Aufteilung nach der „State“-Dimension und das Filtern nach bestimmten „State“-Werten:
Weitere Informationen zum Einrichten von Diagrammen für dimensionale Metriken finden Sie in den Beispielen für Metrische Diagramme.
Metrikvisualisierung
Sie können mehrere Optionen verwenden, um Azure Monitor Metriken zu visualisieren. Für die meisten Routineüberwachungsanforderungen bieten die eingebetteten Grafana-Dashboards und der Metrik-Explorer eine sofort einsatzbereite Sichtbarkeit ohne zusätzliche Einrichtung. Erwägen Sie Azure Managed Grafana für umgebungsübergreifende, multicloud oder hochgradig angepasste Dashboards und Warnungen.
| Komponente | Description | Erforderliche Schulung und Konfiguration |
|---|---|---|
| Seite „Übersicht“ | Die meisten Azure Dienste enthalten eine Overview-Seite im Azure-Portal mit einem Abschnitt Monitor, der aktuelle, häufig verwendete Metriken anzeigt. Diese Ansicht ist für eine schnelle Integritäts- und Leistungsüberprüfung eines einzelnen Azure PostgreSQL-Servers vorgesehen. | Plattformmetriken werden automatisch erfasst. Es ist keine Konfiguration erforderlich. |
| Metrik-Explorer | Verwenden Sie den Metrik-Explorer, um Azure Monitor Metriken interaktiv zu analysieren und metrikbasierte Warnungen zu erstellen. Sie bietet flexible Filter-, Aggregations- und Visualisierungsfunktionen. | – Plattformmetriken für Azure Ressourcen sind automatisch verfügbar. – Es ist keine zusätzliche Konfiguration erforderlich, nachdem die Datensammlung aktiviert wurde. – Gastmetriken erfordern den Azure Monitor Agent (nur VMs). – Anwendungsmetriken erfordern Application Insights. |
| Eingebettete Grafana-Dashboards (Azure Portal) | Vorgefertigte Grafana-Dashboards sind direkt im Azure Portal für Azure Database for PostgreSQL ohne zusätzliche Kosten und ohne Einrichtung eingebettet. Verwenden Sie diese Dashboards für eine schnelle, integrierte Überwachung Ihrer PostgreSQL-Server. Ausführliche Informationen finden Sie unter Embedded Grafana Dashboards im Azure Portal. | Es ist keine Konfiguration erforderlich. Dashboards sind sofort im Azure Portal verfügbar. |
| Azure Managed Grafana | Verwenden Sie Azure Managed Grafana für erweiterte Szenarien wie erweiterte Plug-Ins, erweiterte Authentifizierung und Bereitstellung, feinkörnige Mehrinstanzensteuerung und Multicloudkonnektivität. Alle Grafana-Verteilungen umfassen das Azure Monitor-Datenquellen-Plug-In und ermöglichen umfassende Dashboards und kreuzmetrische Korrelationen. | Vertrautheit mit Grafana-Konzepten wird empfohlen. Die Einrichtung kann mit dem vordefinierten Azure PostgreSQL Grafana-Dashboard vereinfacht werden, das die Überwachung über mehrere Azure flexible Server mit minimaler Konfiguration ermöglicht. |
Eingebettete Grafana-Dashboards im Azure-Portal
Vordefinierte Grafana-Dashboards sind direkt im Azure Portal für Azure Database for PostgreSQL ohne zusätzliche Kosten und ohne Setup eingebettet. Diese Dashboards werden nahezu in Echtzeit aktualisiert, um Einblicke in die Serverintegrität und -leistung zu bieten.
Die Dashboards visualisieren die wichtigsten Azure Monitor Plattformmetriken, einschließlich:
- Verfügbarkeit
- Verbindungen
- CPU
- Gedächtnis
- Lagerung
- WAL
- Datenträger-E/A
- Netzwerk
- Transaktionen
Wenn Sie Diagnoseeinstellungen für das Streamen von PostgreSQL-Protokollen an Azure Monitor Protokolle konfigurieren, können die Dashboards Metriken und Protokolle nebeneinander anzeigen. Mit dieser Funktion können Sie Leistungsspitzen mit bestimmten Abfragen korrelieren. Weitere Informationen zum Aktivieren des Protokollstreamings finden Sie in Protokollen.
Die eingebetteten Dashboards sind Azure Ressourcen, die auf ein Abonnement und eine Ressourcengruppe ausgerichtet sind, und der Zugriff wird durch Azure rollenbasierte Zugriffssteuerung (RBAC) gesteuert. Sie können Dashboards in umgebungenübergreifend exportieren und bereitstellen, indem Sie Azure Resource Manager Vorlagen verwenden.
Logs
Diese Protokolle stammen aus Vorgängen auf Ebene der Datenebene.
Das System erfasst diese Protokolle nicht automatisch. Um diese Protokolle an einem unterstützten externen Speicherort zu sammeln, müssen Sie das System konfigurieren. Kosten sind mit der Aufnahme, Aufbewahrung und nachfolgenden Abfragen verbunden.
Diese Protokolle sind in Kategorien organisiert, und diese Kategorien werden in Kategoriegruppen gruppiert. Die beiden Kategoriegruppen sind audit und allLogs. Indem Sie entweder eine oder beide auswählen, wählen Sie alle einzelnen Protokollkategorien aus.
Sie können die folgenden Protokolle mit einem externen Ziel wie einem Log Analytics Arbeitsbereich, einem Speicherkonto, einem Event Hub oder einer Partnerlösung mithilfe von Diagnoseeinstellungen streamen. Weitere Informationen finden Sie unter Konfigurieren und Zugreifen auf Protokolle.
In den folgenden Abschnitten werden die einzelnen Protokollkategorien aufgelistet und beschrieben, die Sie konfigurieren können.
PostgreSQL-Serverprotokolle
Ereignisse, die in PostgreSQL-Serverprotokolle geschrieben wurden.
Ausführungshäufigkeit: 10 Sekunden.
Kategoriename: PostgreSQLLogs.
Anzeigename: PostgreSQL-Serverprotokolle.
Ressourcenspezifische Tabelle: PGSQLServerLogs.
Funktion zum Verketten von Ereignissen aus AzureDiagnostics und ressourcenspezifischer Tabelle: _PGSQL_GetPostgresServerLogs.
Zusätzliche Anforderungen: Keine.
Aktive Sitzungen
Momentaufnahme aktiver PostgreSQL-Sitzungen, die Details zu aktuellen Datenbankverbindungen und deren Aktivität anzeigen. Diese Momentaufnahme umfasst Sitzungsmetadaten, Zeitangaben und Wartezustände.
Ausführungshäufigkeit: 5 Minuten.
Kategoriename: PostgreSQLFlexSessions.
Anzeigename: PostgreSQL Sessions-Daten.
Ressourcenspezifische Tabelle: PGSQLPgStatActivitySessions.
Funktion zum Verketten von Ereignissen aus AzureDiagnostics und ressourcenspezifischer Tabelle: _PGSQL_GetPgStatActivitySessions.
Zusätzliche Anforderungen: Keine.
Laufzeitstatistiken des Query Store
Detaillierte Abfrageleistungsstatistiken, die der Abfragespeicher erfasst.
Ausführungshäufigkeit: 5 Minuten, wenn pg_qs.interval_length_minutes zwischen 1 und 5 liegt. Anzahl der in pg_qs.interval_length_minutes angegebenen Minuten, wenn pg_qs.interval_length_minutes höher als 5 Minuten ist.
Kategoriename: PostgreSQLFlexQueryStoreRuntime.
Display-Name: PostgreSQL Abfragespeicher Runtime.
Ressourcenspezifische Tabelle: PGSQLQueryStoreRuntime.
Funktion zum Verketten von Ereignissen aus AzureDiagnostics und ressourcenspezifischer Tabelle: _PGSQL_GetQueryStoreRuntime.
Zusätzliche Anforderungen: Setzen Sie pg_qs.query_capture_mode auf top oder all.
Wartestatistiken des Abfragespeichers
Details zu den Wartezeiten, auf die jedes Back-End jedes Mal wartete, wenn der Abfragespeicher ein Beispiel von Wartezeiten erfasst hat.
Ausführungshäufigkeit: 5 Minuten, wenn pg_qs.interval_length_minutes zwischen 1 und 5 liegt. Anzahl der in pg_qs.interval_length_minutes angegebenen Minuten, wenn pg_qs.interval_length_minutes höher als 5 Minuten ist.
Kategoriename: PostgreSQLFlexQueryStoreWaitStats.
Anzeige Name: PostgreSQL Abfrage-Speicher-Wartestatistiken.
Ressourcenspezifische Tabelle: PGSQLQueryStoreWaits.
Funktion zum Verketten von Ereignissen aus AzureDiagnostics und ressourcenspezifischer Tabelle: _PGSQL_GetQueryStoreWaits.
Zusätzliche Anforderungen: pg_qs.query_capture_mode muss entweder auf top oder auf all gesetzt werden, und pgms_wait_sampling.query_capture_mode muss auf on gesetzt werden.
SQL-Text im Abfragespeicher
Text der abfragen, die vom Abfragespeicher erfasst werden.
Ausführungshäufigkeit: 5 Minuten, wenn pg_qs.interval_length_minutes zwischen 1 und 5 liegt. Anzahl der in pg_qs.interval_length_minutes angegebenen Minuten, wenn pg_qs.interval_length_minutes höher als 5 Minuten ist.
Kategoriename: PostgreSQLQueryStoreSqlText.
Anzeigename: PostgreSQL Abfragespeicher SQL-Text.
Ressourcenspezifische Tabelle: PGSQLQueryStoreQueryText.
Funktion zum Verketten von Ereignissen aus AzureDiagnostics und ressourcenspezifischer Tabelle: N/A.
Zusätzliche Anforderungen: pg_qs.query_capture_mode muss entweder auf top oder auf all gesetzt werden, und pg_qs.emit_query_text muss auf on gesetzt werden.
Tabellenstatistiken
Aggregierte Statistiken auf Schemaebene zu allen Tabellen in der Datenbank, zusammenfassung der Tabellenaktivität und Wartungsmetriken.
Ausführungshäufigkeit: 30 Minuten.
Kategoriename: PostgreSQLFlexTableStats.
Anzeigename: PostgreSQL Autovacuum und Schemastatistiken.
Ressourcenspezifische Tabelle: PGSQLAutovacuumStats.
Funktion zum Verketten von Ereignissen aus AzureDiagnostics und ressourcenspezifischer Tabelle: _PGSQL_GetAutovacuumStats.
Zusätzliche Anforderungen: Keine.
Transaktionsbezogene Informationen
Ansicht auf Datenbankebene des Alters der Transaktions-ID (XID) und der Multixact-ID sowie des Wraparound-Risikos, zusammen mit Schwellenwerten für Auto-Vakuum- und Notfall-Vakuum-Aktionen.
Ausführungshäufigkeit: 30 Minuten.
Kategoriename: PostgreSQLFlexDatabaseXacts.
Anzeigename: PostgreSQL verbleibende Transaktionen.
Ressourcenspezifische Tabelle: PGSQLDbTransactionsStats.
Funktion zum Verketten von Ereignissen aus AzureDiagnostics und ressourcenspezifischer Tabelle: _PGSQL_GetDbTransactionsStats.
Zusätzliche Anforderungen: Keine.
PgBouncer-Protokolle
Integrierte PgBouncer-Protokolle.
Ausführungshäufigkeit: 10 Sekunden.
Kategoriename: PostgreSQLFlexPGBouncer.
Anzeigename: PostgreSQL PgBouncer Logs.
Ressourcenspezifische Tabelle: PGSQLPgBouncer.
Funktion zum Verketten von Ereignissen aus AzureDiagnostics und ressourcenspezifischer Tabelle: _PGSQL_GetPgBouncerLogs.
Zusätzliche Anforderungen: Aktivieren Sie integriertes PgBouncer auf dem Server durch Festlegen pgbouncer.enabled auf on.
Visualisieren von Protokollen
| Komponente | Description | Erforderliche Schulung und Konfiguration |
|---|---|---|
| Log Analytics | Mithilfe von Log Analytics können Sie Protokollabfragen erstellen, um interaktiv mit Protokolldaten zu arbeiten und Protokollabfragebenachrichtigungen zu erstellen. | Sie benötigen eine Schulung, um sich mit der Abfragesprache vertraut zu machen, aber Sie können vordefinierte Abfragen für allgemeine Anforderungen verwenden. |
Serverprotokolle
Mit dem Feature "Serverprotokolle" in Ihrem Azure Database for PostgreSQL flexiblen Server können Sie Serverprotokolle aktivieren, konfigurieren und herunterladen. Diese Protokolle sind für die Problembehandlung und die Durchführung historischer Analysen von Serveraktivitäten unerlässlich. Standardmäßig ist das Feature "Serverprotokolle" deaktiviert. Nachdem Sie das Feature aktiviert haben, beginnt der Azure Database for PostgreSQL flexible Server jedoch mit dem Erfassen von Ereignissen des ausgewählten Protokolltyps und schreibt sie in eine Datei. Anschließend können Sie das Azure Portal oder die Azure CLI verwenden, um die Dateien herunterzuladen, um Ihre Problembehandlungsbemühungen zu unterstützen.
Aufbewahrung von Serverprotokollen
Serverprotokolle haben eine minimale Aufbewahrung von einem Tag und eine maximale Aufbewahrung von sieben Tagen. Wenn Sie diesen Grenzwert überschreiten, werden die ältesten Protokolle gelöscht, um Platz für neue Protokolle zu schaffen. Ausführliche Informationen zum Aktivieren und Verwalten von Serverprotokollen finden Sie unter Konfigurieren von Sammeln von PostgreSQL-Serverprotokollen und Upgradeprotokollen von Hauptversionen.