Estructuración de las consultas de Log Analytics

Completado

Los administradores crean consultas de Log Analytics a partir de los datos almacenados en tablas dedicadas en un área de trabajo de Log Analytics. Algunas tablas de consulta comunes son Evento, Syslog, Latido y Alerta. Al compilar una consulta de Lenguaje de consulta Kusto (KQL), empiece por determinar qué tablas del repositorio de registros de Azure Monitor tienen los datos que busca.

En la ilustración siguiente se resalta cómo las consultas KQL usan los datos de la tabla dedicada en los servicios y recursos supervisados.

Ilustración que muestra cómo crear consultas de Log Analytics a partir de los datos de tablas dedicadas en un área de trabajo de Log Analytics.

Aspectos que se deben conocer sobre la estructura de las consultas KQL

Echemos un vistazo más de cerca a los datos de tablas dedicadas y cómo estructurar una consulta de registro de KQL.

  • Cada origen de datos y solución seleccionados almacena sus datos en tablas dedicadas en el área de trabajo de Log Analytics.

  • La documentación de cada origen de datos y solución incluye el nombre del tipo de datos que crea y una descripción de cada una de sus propiedades.

  • La estructura básica de una consulta es una tabla de origen seguida de una serie de comandos (conocidos como operadores).

  • Una consulta puede tener una cadena de varios operadores para refinar los datos y realizar funciones avanzadas.

  • Cada operador de una cadena de consulta comienza con un carácter de barra vertical |.

  • Muchas consultas solo necesitan datos de una tabla, pero otras pueden usar diversas opciones e incluir datos de varias tablas.

Ejemplos de consultas de registro de KQL

Vamos a revisar algunos operadores de consulta de registro de KQL comunes y sintaxis de ejemplo.

Podemos crear consultas para buscar datos en la tabla StormEvent que tiene cinco entradas:

type event severity start duration region
Water Freezing rain 1 6:00 AM 01-27-2023 3 hours 1, 2
Wind High winds 1 8:00 AM 01-27-2023 12 hours 1, 2, 4, 5
Temperature Below freezing 2 11:00 PM 01-26-2023 10 hours 1, 2, 4, 5
Water Snow 3 4:00 PM 01-26-2023 10 hours 1, 2, 4, 5
Water Flood warning 2 9:00 AM 01-26-2023 10 hours 3

Para buscar otros operadores y ejemplos, revise: Analizar los datos de supervisión con el Lenguaje de consulta Kusto: entrenamiento | Microsoft Learn.

Número de elementos de recuento

Use el operador count para detectar el número de registros de un conjunto de registros de entrada.

En el ejemplo siguiente se devuelve el número de registros de la tabla StormEvent. Los resultados de la consulta revelan que la tabla StormEvent tiene cinco entradas.

StormEvent | count

Resultados de la consulta:

count
5

Devolver el primer número de elementos

Use el operador top para ver los primeros N registros del conjunto de registros de entrada, ordenados por las columnas especificadas. Las columnas corresponden a las propiedades de datos definidas en la tabla dedicada.

En el ejemplo siguiente se devuelven los tres primeros registros de datos de StormEvent. La tabla de resultados muestra el nombre event de la tormenta, la gravedad y la duración prevista.

StormEvent | top 3 by event severity duration

Resultados de la consulta:

event severity duration
Freezing rain 1 3 hours
High winds 1 12 hours
Below freezing 2 10 hours

Buscar elementos coincidentes

Use el operador where para filtrar la tabla por el subconjunto de filas que coinciden con el valor de predicado proporcionado. El valor de predicado indica qué buscar en la tabla, como en where=="find-this".

En el ejemplo siguiente se filtran los registros de datos de StormEvent para que solo se usen los registros que coincidan con "snow".

StormEvent | where event=="snow"

La consulta filtra por una fila de la tabla StormEvent:

type event severity start duration region
Water Snow 3 4:00 PM 01-26-2023 10 hours 1, 2, 4, 5