Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Las herramientas de Kusto le ayudan a convertir las mejores consultas de KQL en herramientas reutilizables y parametrizadas. El agente ejecuta la consulta exacta que escribe sin interpretación ni variación. La experiencia de su equipo se convierte en una funcionalidad compartida.
Sugerencia
- Estandarizar las consultas de incidentes : la misma KQL probada se ejecuta cada vez, sin variaciones.
- Convertir el conocimiento tribal en herramientas reutilizables : las mejores consultas se convierten en funcionalidades compartidas.
- Consulta con parámetros : los usuarios preguntan en lenguaje sin formato y el agente sustituye automáticamente los valores.
- Probar antes de implementar : valide que las consultas se ejecuten correctamente antes de agregar a agentes personalizados.
El problema: todos escriben sus propias consultas
Durante los incidentes, los ingenieros senior de su equipo utilizan consultas probadas y comprobadas que encuentran problemas rápidamente. Pero ese conocimiento permanece en sus cabezas, hilos de conversaciones de Slack y blocs de notas personales. Cuando no están en la llamada, los respondedores menos experimentados pierden tiempo:
- Reinventar consultas desde cero, a menudo con errores
- **Escribir consultas demasiado amplias que devuelven demasiados datos o casos perimetrales que faltan
- Faltan columnas críticas que revelarían la causa principal
- Usar ventanas de tiempo incorrectas o olvidar filtrar por entorno
Cada ingeniero consulta los mismos datos de forma diferente. Un ingeniero encuentra el problema en cinco minutos. Otro ingeniero pasa 30 minutos dando vueltas con KQL ad hoc.
Cómo resuelven las herramientas de Kusto este problema
Las herramientas de Kusto le permiten guardar las mejores consultas de su equipo como herramientas parametrizadas y deterministas. El agente ejecuta la consulta exacta que define, por lo que la experiencia del equipo se convierte en una funcionalidad compartida.
| antes de | después de |
|---|---|
| Ingeniero sénior escribe la consulta desde la memoria | La consulta se guarda como una herramienta, cualquier persona puede usarla. |
| Estimaciones en tiempo real sobre intervalos de tiempo y filtros | Los parámetros piden la información necesaria |
| Cada respondedor obtiene resultados diferentes | La misma consulta se ejecuta cada vez |
| Se deben recordar combinaciones complejas | La lógica de varios pasos está precompilada |
En lugar de pedir al ingeniero de llamadas que "descubra cómo consultar los registros de errores", le preguntan al agente:
Show me errors from the last 24 hours
El agente usa la herramienta predefinida timeRange=24h, devolviendo exactamente las columnas y filtros que necesita su equipo.
Cómo funciona
Siga estos pasos para crear y usar una herramienta kusto:
- Conectar: agregue el clúster de Azure Data Explorer como conector.
-
Crear: defina consultas con parámetros mediante
##parameterName##sintaxis. - Prueba: valide que la consulta se ejecuta correctamente en el portal.
- Adjuntar: agregue la herramienta a un agente personalizado.
- Uso: el agente llama a la herramienta cuando las preguntas del usuario coinciden con la descripción de la herramienta.
Dos enfoques para las consultas de datos
Al agregar un conector de Azure Data Explorer, elija entre consultas deterministas o flexibles.
| Enfoque | Descripción | Se utiliza cuando |
|---|---|---|
| Conector de consulta de base de datos | El agente usa consultas predefinidas (herramientas de Kusto) | Quiere consultas deterministas y exactas |
| Conector de indexación de base de datos | El agente genera consultas mediante el aprendizaje del esquema | Quiere consultas flexibles y ad hoc |
Crear una herramienta Kusto
Cree herramientas en Constructor>Lienzo del agente>Crear>Herramienta>Herramienta Kusto. Cada herramienta necesita un nombre, una descripción, un conector, una base de datos y una consulta KQL con marcadores de posición de parámetro opcionales ##paramName## .
Para ver el tutorial completo con capturas de pantalla, consulte Tutorial: Creación de una herramienta Kusto.
Añadir una herramienta a un agente personalizado
Después de crear la herramienta, adjúntela a un agente personalizado mediante el botón de vista del lienzo +>Agregar herramientas ya existentes.
Prerrequisitos
Antes de crear herramientas de Kusto, cumpla los siguientes requisitos.
Permisos de Azure Data Explorer
La identidad administrada del agente necesita el rol AllDatabasesViewer en el clúster de Azure Data Explorer.
Use el siguiente comando de administración de KQL:
.add cluster AllDatabasesViewer ('aadapp=<MANAGED_IDENTITY_CLIENT_ID>;<TENANT_ID>')
Como alternativa, en Azure Portal, vaya al clúster de Azure Data Explorer. Seleccione Seguridad + permisos de red>Agregar>Add>AllDatabasesViewer.
Conector Kusto
Antes de crear herramientas, configure un conector ADX. Al agregar el conector:
- Seleccione Conector de consulta de base de datos para consultas predefinidas, no para el aprendizaje de esquemas.
- Use la dirección URL completa del clúster, incluida la base de datos:
https://<CLUSTER_NAME>.<REGION>.kusto.windows.net/<DATABASE_NAME>.
Consultas parametrizadas
Haga que las herramientas sean flexibles con parámetros mediante la ##parameterName## sintaxis :
AppEvents
| where TimeGenerated > ago(##timeRange##)
| where EventLevel == "Error"
| where Message contains "##searchPattern##"
| take 100
Cuando el agente usa esta herramienta, sustituye los parámetros en función de la entrada del usuario.
| El usuario dice | Sustitutos del agente |
|---|---|
| "errores del último día" | timeRange=24h |
| "buscar excepciones de puntero nulo" | searchPattern=NullPointerException |
Los parámetros permiten que una herramienta controle muchas variaciones de la misma pregunta.
Modos de ejecución (YAML)
Al definir herramientas en YAML, elija un modo de ejecución.
| Modo | Descripción | Se utiliza cuando |
|---|---|---|
Query |
Ejecuta una consulta KQL en línea | Más común. La consulta se define directamente en YAML. |
Function |
Llama a una función almacenada en el clúster | La lógica de consulta se define en Azure Data Explorer como una función |
Script |
Ejecuta un script KQL desde un archivo externo | Consultas complejas de varias instrucciones |
# Query mode (most common)
spec:
mode: Query
query: |-
AppEvents | take 10
# Function mode
spec:
mode: Function
function: GetRecentErrors
Procedimientos recomendados sobre las consultas
Siga estas recomendaciones al escribir consultas de herramientas de Kusto.
Usar intervalos de tiempo adecuados : valor predeterminado para los datos recientes:
| where TimeGenerated > ago(1h)
Adición de límites de resultados : evitar resultados abrumadores:
| take 100
Incluir proyecciones útiles : devuelva solo las columnas que necesita el agente:
| project TimeGenerated, Name, DurationMs, ResultCode
Cuándo usar herramientas de Kusto frente a consultas ad hoc
Elija el enfoque adecuado en función de su escenario.
| Escenario | Herramientas de Kusto | Consultas ad hoc |
|---|---|---|
| Procedimientos estandarizados del manual de operaciones | Sí | No |
| Patrones de investigación repetibles | Sí | No |
| Consultas complejas de varias combinaciones | Sí | No |
| Exploración de datos desconocidos | No | Sí |
| Investigaciones únicas | No | Sí |
Empieza ahora
| Recurso | Qué aprenderá: |
|---|---|
| Crear una herramienta Kusto | Tutorial paso a paso con capturas de pantalla |
Contenido relacionado
| Capacidad | Lo que agrega |
|---|---|
| Agentes personalizados | Asigne herramientas a agentes personalizados especializados |
| Conectores | Conexión de otros orígenes de datos |