In diesem Dokument werden die Konfigurationsparameter, Telemetriedimensionen sowie Beobachtbarkeitsansichten und -funktionen 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 gefolgt von SELECT pg_reload_conf() aus. In der folgenden Tabelle werden die Konfigurationsparameter für erweiterte Query Insights 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 Erfassung 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, wobei Literalwerte als Positionsparameter wie $1 und
$2 maskiert werden. |
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 den Ansichten für 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. |
Beobachtbarkeitsansichten und Messwerte nach Dimension
In den folgenden Abschnitten werden die Beobachtbarkeitsansichten und Messwertspalten aufgeführt, die im Schema google_insights_v2 für jede Telemetriedimension 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 im normalisierten 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:
- Beobachtbarkeitsansichten:
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 Laufwerken in Mikrosekunden.total_write_time: kumulative Zeit für das Schreiben auf Laufwerke 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, 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:
- Beobachtbarkeitsansichten:
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 Name 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, 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:
- Beobachtbarkeitsansichten:
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, 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:
- Beobachtbarkeitsansichten:
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 Abfrageausführungszeit 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, 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:
- Beobachtbarkeitsansichten:
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 Abfrageausführungszeit für die Clientadresse in Mikrosekunden.count: Gesamtzahl der Abfrageausführungen für den Nutzer oder die Client-IP-Adresse.recorded_on: Zeitstempel, wann das Telemetrieintervall aufgezeichnet wurde.
Tags
Die Dimension „Tags“ erfasst Statistiken zur Abfrageausführung 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:
- Beobachtbarkeitsansichten:
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 Abfrageausführungszeit für die Tag-Kombination in Mikrosekunden.count: Gesamtzahl der Abfrageausführungen für die Tag-Kombination.recorded_on: Zeitstempel, 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:
- Beobachtbarkeitsansichten:
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, wann die aktuelle Sitzung gestartet wurde. Berechnen SieEXTRACT(EPOCH FROM (clock_timestamp() - backend_start)), um die Sitzungsdauer in Sekunden zu ermitteln.xact_start: Zeitstempel, wann die aktuelle Transaktion gestartet wurde. Berechnen SieEXTRACT(EPOCH FROM (clock_timestamp() - xact_start)), um die Transaktionsdauer in Sekunden zu ermitteln.query_start: Zeitstempel, 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.