Cortex Search-Anfragen überwachen¶
Cortex Search protokolliert detaillierte Informationen über Suchanfragen zu Überwachungs- und Debugging-Zwecken. Wenn die Anforderungsprotokollierung aktiviert ist, können Sie Abfragemuster, Antwortzeiten und Anforderungdetails für einen Cortex Search Service überprüfen.
In Anforderungsprotokollen erfasste Informationen¶
Die Anforderungsprotokolle von Cortex Search enthalten die folgenden Informationen:
Operationstyp (z. B. QUERY)
Vollständiger Anforderungstext, einschließlich Abfragetext und Parameter
Antwort-Statuscode
Antwortzeit in Millisekunden
Datenbank-, Schema- und Dienstname
Benutzer-, Rollen- und Sitzungsinformationen
Protokollierung von Anforderungen aktivieren¶
Um Anforderungsprotokolle für einen Cortex Search Service zu erfassen, aktivieren Sie die REQUEST_LOGGING-Eigenschaft für den Service.
Sie können die Anforderungsprotokollierung aktivieren, wenn Sie einen Service erstellen:
Sie können auch die Anforderungsprotokollierung für einen bestehenden Service aktivieren:
So deaktivieren Sie die Protokollierung von Anforderungen:
Hinweise zur Operation¶
Menge der Protokolldaten¶
Jede protokollierte Cortex Search-Anforderung erzeugt eine Ereigniszeile in SNOWFLAKE.LOCAL.AI_OBSERVABILITY_EVENTS. Wie viele Daten Sie erfassen, hängt von Ihrer Anforderungsrate ab und wie lange die Protokollierung aktiviert bleibt. Stellen Sie die Aufbewahrung und den Speicher so ein, dass sie der Protokollmenge entsprechen, die Sie voraussichtlich aufbewahren werden.
Hinweise zu Kosten¶
Für Daten, die in SNOWFLAKE.LOCAL-Tabellen gespeichert sind, fallen Snowflake-Speichergebühren an. Beim Abfragen von Anforderungsprotokollen mit SQL werden Warehouse-Ressourcen wie bei jeder anderen Abfrage verwendet.
Abfragelatenz¶
Die Aktivierung der Anforderungsprotokollierung wirkt sich nicht auf die Latenz von Cortex Search-Abfrageanforderungen aus.
Zugriff auf Anforderungsprotokolle von Cortex Search¶
Die Anforderungsprotokolle für einen Cortex Search Service werden in der Ereignistabelle SNOWFLAKE.LOCAL.AI_OBSERVABILITY_EVENTS gespeichert. Sie können auf diese Protokolleinträge über eine Tabellenfunktion oder durch direktes Abfragen der Ereignistabelle zugreifen.
Verwenden der Funktion snowflake.local.get_ai_observability_events ¶
Benutzende mit der MONITOR-Berechtigung für einen Cortex Search Service können die Anforderungsprotokolle für diesen Service über die snowflake.local.get_ai_observability_events-Funktion einsehen.
MONITOR-Berechtigung gewähren: Gewähren Sie die MONITOR-Berechtigung für den Cortex Search Service für die Rolle, die die Funktion verwenden wird:
Beobachtbarkeitsereignisse abfragen: Rufen Sie
snowflake.local.get_ai_observability_eventsunter Verwendung der Rolle mit der MONITOR-Berechtigung auf:
Direktes Abfragen der Ereignistabelle als ACCOUNTADMIN¶
Benutzende mit der ACCOUNTADMIN-Rolle können die Ereignistabelle direkt abfragen:
Bemerkung
Benutzende mit der ACCOUNTADMIN-Rolle können die snowflake.local.ai_observability_events-Tabelle abfragen und auf die Anforderungsereignisse für alle Cortex Search Services im Konto zugreifen.
Zugriffssteuerung und Berechtigungen¶
Um die Anforderungsprotokolle von Cortex Search anzuzeigen, müssen Benutzende eine der folgenden Berechtigungen haben:
Berechtigung OWNERSHIP oder MONITOR für den Cortex Search Service
Die ACCOUNTADMIN-Rolle (für den direkten Zugriff auf die Ereignistabelle)
Im folgenden Beispiel wird die Rolle ACCOUNTADMIN verwendet, um eine neue search_monitoring_role-Rolle mit den erforderlichen Berechtigungen zum Anzeigen der Cortex Search-Anforderungsprotokolle zu erstellen.
Ausgabeschema¶
Die Funktion snowflake.local.get_ai_observability_events gibt eine Tabelle mit den folgenden Spalten zurück:
Spaltenname |
Datentyp |
Beschreibung |
|---|---|---|
TIMESTAMP |
TIMESTAMP_NTZ(9) |
Zeitpunkt des Ereignisses |
START_TIMESTAMP |
TIMESTAMP_NTZ(9) |
Startzeit des Ereignisses (kann NULL sein) |
TRACE |
OBJECT |
Ablaufverfolgungsinformationen für das Ereignis (möglicherweise NULL) |
RESOURCE_ATTRIBUTES |
OBJECT |
Enthält Sitzungs-, Benutzer- und Rolleninformationen, einschließlich Sitzungs-ID, Benutzer-ID, Benutzername, Rollen-ID und Rollenname |
RECORD_TYPE |
STRING |
Typ des Datensatzes, normalerweise ‚EVENT ‚ für Cortex Search-Anforderungen |
RECORD |
OBJECT |
Enthält den Namen des Ereignisses, normalerweise ‚CORTEX_SEARCH_REQUEST‘ |
RECORD_ATTRIBUTES |
OBJECT |
Enthält detaillierte Metadaten zur Beobachtbarkeit, einschließlich Datenbank-, Schema-, Service-, Benutzer-, Rollen- und Sitzungsinformationen |
VALUE |
VARIANT |
Enthält die eigentlichen Anforderungsdetails, einschließlich Operationstyp, Anforderungstext, Antwortstatuscode und Antwortzeit |
Die Spalte VALUE enthält die folgenden wichtigen Felder:
snow.ai.observability.operation_type: Die Art der Operation, z. B. ‚QUERY‘snow.ai.observability.request_body: Die vollständige Anforderung, einschließlich Abfragetext und Parametersnow.ai.observability.response_status_code: HTTP-Statuscode der Antwortsnow.ai.observability.response_time_ms: Antwortzeit in Millisekundensnow.ai.observability.database.name: Datenbank, die den Cortex Search Service enthältsnow.ai.observability.schema.name: Schema, das den Cortex Search Service enthältsnow.ai.observability.object.name: Name des Cortex Search Service
Im Folgenden finden Sie ein Beispiel für Daten, die in der VALUE-Spalte zu finden sind:
Beispiel¶
Fragen Sie die Anforderungsprotokolle der letzten 24 Stunden ab, und verwenden Sie dazu eine Rolle mit der MONITOR-Berechtigung für den Service.