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.
Kusto-Tools helfen Ihnen, Ihre besten KQL-Abfragen in wiederverwendbare, parametrisierte Tools umzuwandeln. Ihr Agent führt genau die Abfrage aus, die Sie schreiben, ohne sie zu interpretieren oder zu variieren. Die Expertise Ihres Teams wird zu einer gemeinsamen Funktion.
Tipp
- Standardisieren Sie Vorfallabfragen – Die gleiche bewährte KQL wird jedes Mal ohne Variationen ausgeführt.
- Verwandeln Sie Stammeswissen in wiederverwendbare Tools – Ihre besten Abfragen werden freigegebene Funktionen.
- Abfrage mit Parametern – Benutzer fragen in einfacher Sprache, und der Agent ersetzt Werte automatisch.
- Testen vor der Bereitstellung – Überprüfen Sie, dass Abfragen ordnungsgemäß ausgeführt werden, bevor Sie sie benutzerdefinierten Agenten hinzufügen.
Das Problem: Jeder schreibt eigene Abfragen
Bei Zwischenfällen verwenden die Senior-Ingenieure Ihres Teams erprobte Abfragen, die schnell Probleme erkennen. Aber das Wissen bleibt in ihren Köpfen, Slack-Threads und persönlichen Notizbüchern. Wenn sie nicht im Gespräch sind, verschwenden weniger erfahrene Antwortende Zeit:
- Neufindung von Abfragen von Grund auf, oft mit Fehlern
- **Schreiben von übermäßig breiten Abfragen, die zu viele Daten oder fehlende Edgefälle zurückgeben
- Fehlende kritische Spalten , die die Ursache anzeigen würden
- Verwenden falscher Zeitfenster oder Vergessen des Filterns nach Umgebung
Jeder Techniker fragt dieselben Daten unterschiedlich ab. Ein Ingenieur findet das Problem in fünf Minuten. Ein anderer Ingenieur verbringt 30 Minuten damit, mit Ad-hoc-KQL im Kreis zu laufen.
Wie Kusto-Tools dieses Problem lösen
Mit kusto-Tools können Sie die besten Abfragen Ihres Teams als parametrisierte, deterministische Tools speichern. Der Agent führt die genaue Abfrage aus, die Sie definieren, sodass die Expertise Ihres Teams zu einer gemeinsamen Funktion wird.
| Vorher | Nach |
|---|---|
| Senior Engineer schreibt Abfrage aus dem Arbeitsspeicher | Abfrage wird als Tool gespeichert, jeder kann sie verwenden. |
| Raten Sie auf Abruf über Zeitbereiche und Filter | Parameter fordern die erforderlichen Informationen an |
| Jeder Responder erhält unterschiedliche Ergebnisse | Die gleiche Abfrage wird jedes Mal ausgeführt |
| Komplexe Verknüpfungen müssen gespeichert werden. | Mehrstufige Logik ist vorkonfiguriert. |
Anstatt den Anruftechniker aufzufordern, "herauszufinden, wie Fehlerprotokolle abgefragt werden", fragen sie den Agent:
Show me errors from the last 24 hours
Der Agent verwendet Ihr vorgefertigtes Tool mit timeRange=24hund gibt genau die Spalten zurück und filtert Ihre Teamanforderungen.
So funktioniert es
Führen Sie die folgenden Schritte aus, um ein Kusto-Tool zu erstellen und zu verwenden:
- Verbinden: Fügen Sie Ihren Azure Data Explorer-Cluster als Connector hinzu.
-
Create: Definieren Sie Abfragen mit Parametern unter Verwendung der
##parameterName##-Syntax. - Test: Überprüfen Sie, ob die Abfrage im Portal ordnungsgemäß ausgeführt wird.
- Anfügen: Fügen Sie das Tool einem benutzerdefinierten Agent hinzu.
- Verwenden: Ihr Agent ruft das Tool auf, wenn Benutzerfragen mit der Beschreibung des Tools übereinstimmen.
Zwei Ansätze für Datenabfragen
Wenn Sie einen Azure Data Explorer-Connector hinzufügen, wählen Sie zwischen deterministischen oder flexiblen Abfragen aus.
| Vorgehensweise | Beschreibung | Verwenden Sie, wenn |
|---|---|---|
| Datenbankabfrageverbindung | Agent verwendet vordefinierte Abfragen (Kusto-Tools) | Sie möchten deterministische, genaue Abfragen |
| Datenbank-Indizierungs-Connector | Agent generiert Abfragen, indem er Ihr Schema erlernt | Sie möchten flexible Ad-hoc-Abfragen |
Erstellen eines Kusto-Tools
Erstellen Sie Tools im Builder>Agent Canvas>Create>Tool>Kusto tool. Jedes Tool benötigt einen Namen, eine Beschreibung, einen Connector, eine Datenbank- und KQL-Abfrage mit optionalen ##paramName## Parameterplatzhaltern.
Die vollständige exemplarische Vorgehensweise mit Screenshots finden Sie im Lernprogramm: Erstellen eines Kusto-Tools.
Hinzufügen eines Tools zu einem benutzerdefinierten Agent
Fügen Sie es nach dem Erstellen des Tools über die Schaltfläche "Canvasansicht +>" an einen benutzerdefinierten Agent an.
Voraussetzungen
Bevor Sie Kusto-Tools erstellen, erfüllen Sie die folgenden Anforderungen.
Azure Data Explorer-Berechtigungen
Die verwaltete Identität des Agents benötigt die AllDatabasesViewer-Rolle in Ihrem Azure Data Explorer-Cluster.
Verwenden Sie den folgenden KQL-Verwaltungsbefehl:
.add cluster AllDatabasesViewer ('aadapp=<MANAGED_IDENTITY_CLIENT_ID>;<TENANT_ID>')
Alternativ können Sie im Azure-Portal zu Ihrem Azure Data Explorer-Cluster wechseln. Wählen Sie "Sicherheit+>>Hinzufügen>" aus.
Kusto-Anschluss
Richten Sie vor dem Erstellen von Tools einen ADX-Connector ein. Beim Hinzufügen des Verbinders:
- Wählen Sie den Datenbankabfragekonnektor für vordefinierte Abfragen und nicht für das Schemalernen aus.
- Verwenden Sie die vollständige Cluster-URL einschließlich der Datenbank:
https://<CLUSTER_NAME>.<REGION>.kusto.windows.net/<DATABASE_NAME>.
Parametrisierte Abfragen
Gestalten Sie Ihre Tools mit Parametern flexibel, indem Sie die ##parameterName##-Syntax verwenden.
AppEvents
| where TimeGenerated > ago(##timeRange##)
| where EventLevel == "Error"
| where Message contains "##searchPattern##"
| take 100
Wenn der Agent dieses Tool verwendet, ersetzt er Parameter basierend auf der Benutzereingabe.
| Benutzer sagt | Agentenersatz |
|---|---|
| "Fehler vom letzten Tag" | timeRange=24h |
| "Nullzeiger-Ausnahmen suchen" | searchPattern=NullPointerException |
Parameter ermöglichen es einem Tool, viele Variationen derselben Frage zu behandeln.
Ausführungsmodi (YAML)
Wenn Sie Tools in YAML definieren, wählen Sie einen Ausführungsmodus aus.
| Modus | Beschreibung | Verwenden Sie, wenn |
|---|---|---|
Query |
Führt eine Inline-KQL-Abfrage aus. | Häufigsten. Die Abfrage wird direkt in YAML definiert. |
Function |
Ruft eine gespeicherte Funktion auf dem Cluster auf. | Abfragelogik wird im Azure-Daten-Explorer als Funktion definiert. |
Script |
Führt ein KQL-Skript aus einer externen Datei aus. | Komplexe Abfragen mit mehreren Anweisungen |
# Query mode (most common)
spec:
mode: Query
query: |-
AppEvents | take 10
# Function mode
spec:
mode: Function
function: GetRecentErrors
Best Practices für Abfragen
Befolgen Sie diese Empfehlungen beim Schreiben von Kusto-Toolabfragen.
Verwenden Sie geeignete Zeitbereiche – Standard für zuletzt verwendete Daten:
| where TimeGenerated > ago(1h)
Ergebnisbeschränkungen hinzufügen – Überwältigende Ausgaben verhindern:
| take 100
Verwenden Sie hilfreiche Projektionen : Geben Sie nur die Spalten zurück, die der Agent benötigt:
| project TimeGenerated, Name, DurationMs, ResultCode
Wann man Kusto-Tools verwenden sollte im Vergleich zu Ad-hoc-Abfragen
Wählen Sie den richtigen Ansatz basierend auf Ihrem Szenario aus.
| Szenario | Kusto-Tools | Ad-hoc-Abfragen |
|---|---|---|
| Standardisierte Runbook-Schritte | Ja | No |
| Wiederholbare Untersuchungsmuster | Ja | No |
| Komplexe Abfragen mit mehreren Verknüpfungen | Ja | No |
| Erkunden unbekannter Daten | No | Ja |
| Einmalige Untersuchungen | No | Ja |
Erste Schritte
| Ressource | Was Sie lernen werden |
|---|---|
| Erstellen eines Kusto-Tools | Schritt-für-Schritt-Anleitung mit Screenshots |
Verwandte Inhalte
| Fähigkeit | Welchen Mehrwert es bietet |
|---|---|
| Benutzerdefinierte Agents | Zuweisen von Tools zu speziellen benutzerdefinierten Agents |
| Verbinder | Verbinden anderer Datenquellen |