In diesem Dokument werden die Konfigurationsparameter, Telemetriedimensionen sowie Ansichten und Funktionen zur Beobachtbarkeit für erweiterte Query Insights in AlloyDB Omni beschrieben.
Weitere Informationen zum Aktivieren und Abfragen erweiterter Abfrage statistiken finden Sie unter Abfrageleistung mit erweiterten Abfrage statistiken überwachen.
Konfigurationsparameter
Wenn Sie Parameteränderungen anwenden möchten, für die kein Neustart der Datenbank erforderlich ist, führen Sie ALTER SYSTEM SET und dann SELECT pg_reload_conf() aus. In der folgenden Tabelle werden die Konfigurationsparameter für erweiterte Abfragestatistiken beschrieben:
| Parameter | Typ | Standardwert | Neustart erforderlich | Beschreibung |
|---|---|---|---|---|
google_insights_v2.enabled |
boolean |
off |
Ja für die erste Aktivierung mit
shared_preload_libraries. Nein für ein nachfolgendes Neuladen mit
pg_reload_conf(). |
Aktiviert oder deaktiviert die Erhebung von Telemetriedaten für erweiterte Query Insights in der gesamten Instanz. |
google_insights_v2.qi_max_query_string_length |
integer |
10240 |
Nein (Neuladen mit pg_reload_conf()) |
Legt die maximale Byte-Länge (1024 bis
102400) fest, die für normalisierte SQL-Vorlagen aufgezeichnet wird. Dabei werden Literalwerte als Positionsparameter wie $1 und
$2 maskiert. |
google_insights_v2.qi_preserve_comments |
boolean |
off |
Nein (Neuladen mit pg_reload_conf()) |
Steuert, ob SQL-Kommentare in normalisierten Abfragestrings beibehalten werden. |
google_insights_v2.qi_track_wait_event_types |
boolean |
on |
Nein (Neuladen mit pg_reload_conf()) |
Erfasst allgemeine wait_class Engpasskategorien wie CPU, IO, Lock, Timeout und IPC. |
google_insights_v2.qi_track_wait_events |
boolean |
on |
Nein (Neuladen mit pg_reload_conf()) |
Erfasst detaillierte PostgreSQL-wait_event Namen wie
DataFileExtend, transactionid und
WALWrite. |
google_insights_v2.qi_track_client_address |
boolean |
off |
Nein (Neuladen mit pg_reload_conf()) |
Erfasst verbindende Client-IP-Adressen in Ansichten mit Abfrage- und Clientadressen Statistiken. |
google_insights_v2.qi_track_tag |
boolean |
off |
Nein (Neuladen mit pg_reload_conf()) |
Ermöglicht das Tracking von Tags wie SQLCommenter Tags in SQL-Kommentaren. |
google_insights_v2.qi_track_active_queries |
boolean |
off |
Nein (Neuladen mit pg_reload_conf()) |
Ermöglicht das Echtzeit-Tracking von aktiven Abfragen und offenen Transaktionen. |
Ansichten und Messwerte zur Beobachtbarkeit nach Dimension
In den folgenden Abschnitten werden die Ansichten und Messwertspalten zur Beobachtbarkeit aufgeführt, die im Schema google_insights_v2 für die einzelnen Telemetriedimensionen verfügbar sind.
Abfragen
Die Dimension „Abfragen“ erfasst Ausführungsstatistiken und normalisierten SQL-Text für Abfragen in der gesamten Instanz. Wenn Sie SQL-Kommentare in normalisiertem Abfragetext beibehalten möchten, legen Sie google_insights_v2.qi_preserve_comments auf on fest.
Für diese Dimension sind die folgenden Ansichten und Spalten verfügbar:
- Ansichten zur Beobachtbarkeit:
observability_service_query_viewobservability_service_query_coarse_1_viewobservability_service_query_coarse_2_view
- Zugehörige Spalten:
query_id: Hash-ID der normalisierten SQL-Abfrage.query: normalisierter SQL-Abfragetext.database: logische Datenbank, in der die Abfrage ausgeführt wurde.username: Datenbankrolle, die die Abfrage ausgeführt hat.total_execution_time: kumulative Ausführungszeit in Mikrosekunden.total_wait_time: kumulative Wartezeit in Mikrosekunden.total_read_time: kumulative Zeit für das Lesen von Daten vom Laufwerk in Mikrosekunden.total_write_time: kumulative Zeit für das Schreiben von Daten auf das Laufwerk in Mikrosekunden.total_rows: Gesamtzahl der Zeilen, die von der Abfrage zurückgegeben oder beeinflusst wurden.total_shared_blocks_hit: Gesamtzahl der Treffer im gemeinsamen Puffer.total_shared_blocks_read: Gesamtzahl der gemeinsamen Blöcke, die vom Laufwerk gelesen wurden.count: Gesamtzahl der Ausführungen der Abfrage.recorded_on: Zeitstempel, der angibt, wann das Telemetrieintervall aufgezeichnet wurde.
Warteereignistypen
Die Dimension „Warteereignistypen“ erfasst allgemeine wait_class-Kategorien für Engpässe, wenn google_insights_v2.qi_track_wait_event_types auf on gesetzt ist (standardmäßig aktiviert).
Für diese Dimension sind die folgenden Ansichten und Spalten verfügbar:
- Ansichten zur Beobachtbarkeit:
observability_service_wait_event_no_query_viewobservability_service_wait_event_stats_by_query_view
- Zugehörige Spalten:
wait_class: Kategorie des Warteereignisses, z. B.IO,Lock,LWLock,CPUoderInternal wait event.wait_event: detaillierter Ereignisname des PostgreSQL-Warteereignisses innerhalb der Warteklasse.time_spent: kumulative Wartezeit für den Warteereignistyp in Mikrosekunden.count: Gesamtzahl der Vorkommen des Warteereignistyps.database: logische Datenbank, in der das Warteereignis aufgetreten ist.username: Datenbankrolle, die mit dem Warteereignis verknüpft ist.tag_id: numerische ID des zugehörigen SQLCommenter-Tag-Sets.tag_string: unformatierter SQL-Kommentarstring mit den Anwendungstags.recorded_on: Zeitstempel, der angibt, wann das Telemetrieintervall aufgezeichnet wurde.query_id: Hash-ID der Abfrage (inobservability_service_wait_event_stats_by_query_view).
Warteereignisse
Die Dimension „Warteereignisse“ erfasst detaillierte PostgreSQL-wait_event Namen, wenn
google_insights_v2.qi_track_wait_events auf on gesetzt ist (standardmäßig aktiviert).
Für diese Dimension sind die folgenden Ansichten und Spalten verfügbar:
- Ansichten zur Beobachtbarkeit:
observability_service_wait_event_no_query_viewobservability_service_wait_event_stats_by_query_view
- Zugehörige Spalten:
wait_event: spezifischer Name des PostgreSQL-Warteereignisses, z. B.DataFileExtend,DataFileRead,WALWriteoderInternal wait event.wait_class: Kategorie des Warteereignisses, zu der das Warteereignis gehört.time_spent: kumulative Wartezeit für das Warteereignis in Mikrosekunden.count: Gesamtzahl der Vorkommen des Warteereignisses.database: logische Datenbank, in der das Warteereignis aufgetreten ist.username: Datenbankrolle, die mit dem Warteereignis verknüpft ist.tag_id: numerische ID des zugehörigen SQLCommenter-Tag-Sets.tag_string: unformatierter SQL-Kommentarstring mit den Anwendungstags.recorded_on: Zeitstempel, der angibt, wann das Telemetrieintervall aufgezeichnet wurde.query_id: Hash-ID der Abfrage (inobservability_service_wait_event_stats_by_query_view).
Datenbanken
Die Dimension „Datenbanken“ erfasst den Ressourcenverbrauch und das Abfragevolumen pro logischer Datenbank, wenn google_insights_v2.enabled auf on gesetzt ist.
Für diese Dimension sind die folgenden Ansichten und Spalten verfügbar:
- Ansichten zur Beobachtbarkeit:
observability_service_db_load_conn_viewobservability_service_query_viewobservability_service_wait_event_no_query_view
- Zugehörige Spalten:
database: logischer Datenbankname.username: Datenbankrolle, die Abfragen in der Datenbank ausgeführt hat.total_execution_time: kumulative Ausführungszeit der Abfrage in der Datenbank in Mikrosekunden.total_wait_time: kumulative Wartezeit in der Datenbank in Mikrosekunden.count: Gesamtzahl der Abfrageausführungen in der Datenbank.recorded_on: Zeitstempel, der angibt, wann das Telemetrieintervall aufgezeichnet wurde.
Nutzer und Client-IP-Adressen
Die Dimension „Nutzer und Client-IP-Adressen“ erfasst standardmäßig die Last nach Datenbankrolle (username). Wenn Sie auch verbindende Client-IP-Adressen
(client_address) erfassen möchten, müssen Sie google_insights_v2.qi_track_client_address
auf on setzen (off ist die Standardeinstellung).
Für diese Dimension sind die folgenden Ansichten und Spalten verfügbar:
- Ansichten zur Beobachtbarkeit:
observability_service_query_viewobservability_service_client_address_stats_by_query_view
- Zugehörige Spalten:
client_address: verbindende Client-IP-Adresse (wenngoogle_insights_v2.qi_track_client_addressaufongesetzt ist).username: Name der Datenbankrolle.database: logischer Datenbankname.query_id: Hash-ID der normalisierten SQL-Abfrage.time_spent: kumulative Ausführungszeit der Abfrage für die Clientadresse in Mikrosekunden.count: Gesamtzahl der Abfrageausführungen für den Nutzer oder die Client-IP-Adresse.recorded_on: Zeitstempel, der angibt, wann das Telemetrieintervall aufgezeichnet wurde.
Tags
Die Dimension „Tags“ erfasst Ausführungsstatistiken für Abfragen nach Metadaten des Anwendungstags. Wenn Sie Tag-Messwerte erfassen möchten, müssen Sie google_insights_v2.qi_track_tag auf on setzen (off ist die Standardeinstellung). Wenn diese Option auf off gesetzt ist, geben diese Ansichten keine Zeilen zurück.
Für diese Dimension sind die folgenden Ansichten und Spalten verfügbar:
- Ansichten zur Beobachtbarkeit:
observability_service_db_load_tag_viewobservability_service_tag_view
- Zugehörige Spalten:
tag_id: numerische ID der Anwendungstag-Kombination.tag_string: unformatierter SQL-Kommentarstring mit den Anwendungstags.application: Anwendungsname, der aus SQLCommenter-Tags extrahiert wurde.db_driver: Datenbanktreiber, der aus SQLCommenter-Tags extrahiert wurde.framework_name: Name des Anwendungsframeworks, der aus SQLCommenter-Tags extrahiert wurde.framework_controller: Framework-Controller, der aus SQLCommenter-Tags extrahiert wurde.framework_action: Framework-Aktion, die aus SQLCommenter-Tags extrahiert wurde.framework_route: Framework-Route, die aus SQLCommenter-Tags extrahiert wurde.traceparent: W3C-Tracekontext, der aus SQLCommenter-Tags extrahiert wurde.database: logischer Datenbankname, in der die getaggte Abfrage ausgeführt wurde.username: Datenbankrolle, die die getaggte Abfrage ausgeführt hat.total_execution_time: kumulative Ausführungszeit der Abfrage für die Tag-Kombination in Mikrosekunden.count: Gesamtzahl der Abfrageausführungen für die Tag-Kombination.recorded_on: Zeitstempel, der angibt, wann das Telemetrieintervall aufgezeichnet wurde.
Aktive Abfragen
Die Dimension „Aktive Abfragen“ erfasst laufende Abfragen und offene Transaktionen in Echtzeit. Wenn Sie aktive Sitzungen abfragen möchten, müssen Sie google_insights_v2.qi_track_active_queries auf on setzen. Wenn diese Option auf off gesetzt ist, wird beim Abfragen dieser Ansichten ein Fehler zurückgegeben.
Für diese Dimension sind die folgenden Ansichten und Spalten verfügbar:
- Ansichten zur Beobachtbarkeit:
stat_activitystat_activity_v3
- Zugehörige Spalten:
pid: Process-ID des Backends. Wenn Sie eine Sitzung beenden möchten, übergeben Sie die Prozess-ID an die PostgreSQL-Systemfunktionpg_terminate_backend(pid).normalized_query_hash: Hash-ID der normalisierten SQL-Abfrage.normalized_query: normalisierter SQL-Text der aktiven Abfrage.state: aktueller Backend-Status, z. B.activeoderidle in transaction.backend_start: Zeitstempel, der angibt, wann die aktuelle Sitzung gestartet wurde. Berechnen SieEXTRACT(EPOCH FROM (clock_timestamp() - backend_start)), um die Sitzungsdauer in Sekunden zu ermitteln.xact_start: Zeitstempel, der angibt, wann die aktuelle Transaktion gestartet wurde. Berechnen SieEXTRACT(EPOCH FROM (clock_timestamp() - xact_start)), um die Transaktionsdauer in Sekunden zu ermitteln.query_start: Zeitstempel, der angibt, wann die aktuelle Abfrage gestartet wurde. Berechnen SieEXTRACT(EPOCH FROM (clock_timestamp() - query_start)), um die Abfragedauer in Sekunden zu ermitteln.wait_event_type: Kategorie des Warteereignisses, wenn das Backend wartet.wait_event: Name des Warteereignisses, wenn das Backend wartet.database: logischer Datenbankname für die aktive Sitzung.username: Name der Datenbankrolle für die aktive Sitzung.application_name: Name der verbindenden Anwendung.client_addr: verbindende Client-IP-Adresse.