Überwachen mithilfe von Metriken und Protokollen in Azure Database for PostgreSQL – Flexible Server

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_activity auf ON. 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 DatabaseName in der Metrikendimension wird die Groß-/Kleinschreibung nicht beachtet. Das bedeutet, dass nach der Abfrage der Ansicht pg_stat_database, dem Herausfiltern von Zeilen, in denen datname entweder template1 oder template0 ist, dem Festlegen der Reihenfolge nach datid und 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_database und Contoso_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_diagnostics auf ON.
  • 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.enabled aktiviert ist, und aktivieren Sie den Metrikparameter metrics.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() und MIN().

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-State veranschaulichen. 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:

Screenshot, der ein Beispiel für das Aufteilen und Filtern nach Metriken und Dimensionen zeigt.

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.

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.