Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Gli strumenti Kusto consentono di trasformare le migliori query KQL in strumenti riutilizzabili e con parametri. L'agente esegue la query esatta scritta senza interpretazione o variazione. L'esperienza del team diventa una funzionalità condivisa.
Suggerimento
- Standardizzare le query sugli eventi imprevisti : la stessa KQL collaudata viene eseguita ogni volta, senza variazioni.
- Trasformare le conoscenze tribali in strumenti riutilizzabili : le migliori query diventano funzionalità condivise.
- Query con parametri : gli utenti chiedono in linguaggio normale e l'agente sostituisce automaticamente i valori.
- Test prima della distribuzione : convalidare l'esecuzione delle query prima dell'aggiunta agli agenti personalizzati.
Il problema: tutti scrivono le proprie query
Durante gli incidenti, i tecnici più esperti del team usano query testate in situazioni critiche che individuano rapidamente i problemi. Ma queste conoscenze rimangono nelle loro teste, nei thread di Slack e nei notebook personali. Quando non sono su chiamata, i risponditori meno esperti sprecano tempo:
- Reinventare le query da zero, spesso con errori
- **Scrittura di query eccessivamente estese che restituiscono troppi dati o casi limite mancanti
- Colonne critiche mancanti che potrebbero rivelare la causa principale
- Uso di finestre temporali errate o dimenticare di filtrare in base all'ambiente
Ogni tecnico esegue query sugli stessi dati in modo diverso. Un tecnico trova il problema in cinque minuti. Un altro ingegnere gira a vuoto per 30 minuti con le query KQL ad hoc.
Come gli strumenti Kusto risolveranno questo problema
Gli strumenti Kusto consentono di salvare le query migliori del team come strumenti deterministici con parametri. L'agente esegue la query esatta definita dall'utente, quindi la competenza del team diventa una capacità condivisa.
| Prima | Dopo |
|---|---|
| Tecnico esperto scrive query dalla memoria | La query viene salvata come strumento, chiunque può usarla |
| Stime approssimative relative agli intervalli di tempo e ai filtri | I parametri richiedono gli elementi necessari |
| Ogni risponditore ottiene risultati diversi | La stessa query viene eseguita ogni volta |
| I join complessi devono essere memorizzati | La logica in più passaggi è predefinita |
Invece di chiedere ai tecnici su chiamata di "capire come eseguire query sui log degli errori", chiedono all'agente:
Show me errors from the last 24 hours
L'agente utilizza lo strumento preconfigurato con timeRange=24h, restituendo esattamente le colonne e i filtri di cui il team ha bisogno.
Come funziona
Seguire questa procedura per creare e usare uno strumento Kusto:
- Connetti: aggiungi il cluster di Azure Data Explorer come connettore.
-
Crea: definisci query con parametri usando la sintassi
##parameterName##. - Test: convalidare che la query venga eseguita correttamente nel portale.
- Collega: aggiungere lo strumento a un agente personalizzato.
- Usa: l'agente chiama lo strumento quando le domande dell'utente corrispondono alla descrizione dello strumento.
Due approcci alle query di dati
Quando si aggiunge un connettore di Azure Data Explorer, scegliere tra query deterministiche o flessibili.
| Avvicinarsi | Descrizione | Usare quando |
|---|---|---|
| Connettore di query di database | Agent usa query predefinite (strumenti Kusto) | Si vogliono query deterministiche ed esatte |
| Connettore di indicizzazione del database | L'agente genera query apprendendo il tuo schema | Si desiderano query flessibili e ad hoc |
Creare uno strumento Kusto
Creare strumenti in Generatore>Canvas dell'agente>Crea>Strumento>Strumento Kusto. Ogni strumento richiede un nome, una descrizione, un connettore, un database e una query KQL con segnaposto dei parametri ##paramName## facoltativi.
Per la procedura dettagliata completa con screenshot, vedere Esercitazione: Creare uno strumento Kusto.
Aggiungere uno strumento a un agente personalizzato
Dopo aver creato lo strumento, collegarlo a un agente personalizzato tramite il pulsante + di visualizzazione > canvas Aggiungi strumenti esistenti.
Prerequisiti
Prima di creare gli strumenti Kusto, soddisfare i requisiti seguenti.
Autorizzazioni di Esplora dati di Azure
L'identità gestita dell'agente ha bisogno del ruolo AllDatabasesViewer nel cluster di Azure Data Explorer.
Usare il comando di gestione KQL seguente:
.add cluster AllDatabasesViewer ('aadapp=<MANAGED_IDENTITY_CLIENT_ID>;<TENANT_ID>')
In alternativa, nel portale di Azure, vai al cluster di Azure Data Explorer. Selezionare Sicurezza + rete>Autorizzazioni>Aggiungi>TuttiDatabasesViewer.
Connettore Kusto
Prima di creare gli strumenti, configurare un connettore ADX. Quando si aggiunge il connettore:
- Selezionare connettore per query di database per le query predefinite, non l'apprendimento degli schemi.
- Usare l'URL completo del cluster, incluso il database :
https://<CLUSTER_NAME>.<REGION>.kusto.windows.net/<DATABASE_NAME>.
Query con parametri
Rendi i tuoi strumenti flessibili con i parametri usando la sintassi ##parameterName##.
AppEvents
| where TimeGenerated > ago(##timeRange##)
| where EventLevel == "Error"
| where Message contains "##searchPattern##"
| take 100
Quando l'agente usa questo strumento, sostituisce i parametri in base all'input dell'utente.
| L'utente dice | Sostituti dell'agente |
|---|---|
| "errori dell'ultimo giorno" | timeRange=24h |
| "trovare eccezioni del puntatore null" | searchPattern=NullPointerException |
I parametri consentono a uno strumento di gestire molte varianti della stessa domanda.
Modalità di esecuzione (YAML)
Quando si definiscono gli strumenti in YAML, scegliere una modalità di esecuzione.
| Modalità | Descrizione | Usare quando |
|---|---|---|
Query |
Esegue una query KQL inline | Più comune. La query viene definita direttamente in YAML. |
Function |
Chiama una funzione archiviata nel cluster | La logica di query viene definita in Esplora dati di Azure come funzione |
Script |
Esegue uno script KQL da un file esterno | Query complesse a più dichiarazioni |
# Query mode (most common)
spec:
mode: Query
query: |-
AppEvents | take 10
# Function mode
spec:
mode: Function
function: GetRecentErrors
Procedure consigliate per le query
Per la scrittura di query sugli strumenti Kusto, seguire queste indicazioni.
Usare intervalli di tempo appropriati : impostazione predefinita per i dati recenti:
| where TimeGenerated > ago(1h)
Aggiungere i limiti dei risultati - Impedire l'output eccessivo:
| take 100
Includi proiezioni utili: restituisce solo le colonne necessarie per l'agente:
| project TimeGenerated, Name, DurationMs, ResultCode
Quando usare gli strumenti Kusto e le query ad hoc
Scegliere l'approccio corretto in base allo scenario in uso.
| Scenario | Strumenti Kusto | Query ad hoc |
|---|---|---|
| Passaggi standardizzati del runbook | Sì | No |
| Modelli di indagine ripetibili | Sì | No |
| Query multi join complesse | Sì | No |
| Esplorazione di dati non familiari | No | Sì |
| Indagini monouso | No | Sì |
Inizia subito
| risorsa | Cosa imparerai |
|---|---|
| Creare uno strumento Kusto | Procedura dettagliata con screenshot |
Contenuti correlati
| Capability | Elementi aggiunti |
|---|---|
| Agenti personalizzati | Assegnare strumenti ad agenti personalizzati specializzati |
| Connettori | Connettere altre origini dati |