Structurer des requêtes Log Analytics
Les administrateurs génèrent des requêtes Log Analytics à partir de données stockées de tables dédiées dans un espace de travail Log Analytics. Voici quelques tables dédiées courantes : Event, Syslog, Heartbeat et Alert. Quand vous générez une requête KQL (Langage de requête Kusto), vous commencez en déterminant quelles tables du référentiel de journaux Azure Monitor contiennent les données que vous recherchez.
L’illustration suivante met en évidence comment les requêtes KQL utilisent les données de table dédiées pour vos services et ressources supervisés.
Points à connaître sur la structure de requête KQL
Examinons plus en détail les données de table dédiées et la procédure pour structurer une requête de journal KQL.
Chaque source de données et solution sélectionnée stocke ses données dans des tables dédiées dans votre espace de travail Log Analytics.
La documentation de chaque source de données et solution inclut le nom du type de données qu’elle crée et une description de chacune de ses propriétés.
La structure de base d’une requête est une table source suivie d’une série de commandes (appelées opérateurs).
Une requête peut avoir une chaîne de plusieurs opérateurs permettant d’affiner vos données et d’effectuer des fonctions avancées.
Chaque opérateur d’une chaîne de requête commence par un caractère de barre verticale
|
.De nombreuses requêtes nécessitent les données d’une seule table uniquement, mais d’autres requêtes peuvent utiliser diverses options et inclure des données provenant de plusieurs tables.
Exemples de requêtes de journal KQL
Examinons certains exemples de syntaxe et opérateurs de requête de journal KQL.
Nous pouvons créer des requêtes pour rechercher des données dans la table StormEvent
qui comporte cinq entrées :
type | événement | 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 |
Pour trouver d’autres opérateurs et exemples, évaluez : Analyser des données de supervision avec le langage de requête Kusto – Formation | Microsoft Learn.
Nombre d’éléments
Utilisez l’opérateur count
pour découvrir le nombre d’enregistrements compris dans un jeu d’enregistrements d’entrée.
L’exemple suivant retourne le nombre d’enregistrements dans la table StormEvent
. Les résultats de la requête indiquent que la table StormEvent
comporte cinq entrées.
StormEvent | count
Résultats de la requête :
count |
---|
5 |
Retourner le premier nombre d’éléments
Utilisez l’opérateur top
pour afficher les premiers enregistrements N de votre jeu d’enregistrements d’entrée, triés par vos colonnes spécifiées. Les colonnes correspondent aux propriétés de données définies dans la table dédiée.
L’exemple suivant retourne les trois premiers enregistrements de données pour StormEvent
. Le tableau des résultats indique le nom de la tempête event
, sa gravité et la durée prévue.
StormEvent | top 3 by event severity duration
Résultats de la requête :
événement | severity | duration |
---|---|---|
Freezing rain |
1 |
3 hours |
High winds |
1 |
12 hours |
Below freezing |
2 |
10 hours |
Rechercher les éléments correspondants
Utilisez l’opérateur where
pour filtrer votre table sur le sous-ensemble de lignes qui correspondent à la valeur de prédicat fournie. La valeur du prédicat indique les éléments à rechercher dans la table, comme dans where=="find-this"
.
L’exemple suivant filtre les enregistrements de données pour StormEvent
afin d’utiliser uniquement les enregistrements qui correspondent à « neige ».
StormEvent | where event=="snow"
Votre requête applique un filtre sur une ligne de la table StormEvent
:
type | événement | severity | start | duration | region |
---|---|---|---|---|---|
Water |
Snow |
3 |
4:00 PM 01-26-2023 |
10 hours |
1, 2, 4, 5 |