Partager via


Tutoriel : Transformer les journaux texte au moment de l’ingestion dans les journaux Azure Monitor

Les transformations au moment de l’ingestion vous permettent de filtrer ou de modifier des données entrantes avant qu’elles ne soient stockées dans un espace de travail Log Analytics. Cet article explique comment écrire une requête KQL qui transforme les données de journaux texte et comment ajouter la transformation à une règle de collecte des données.

La procédure décrite ici suppose que vous avez déjà ingéré des données à partir d’un fichier texte, comme décrit dans Collecter des journaux texte avec l’agent Azure Monitor. Dans ce didacticiel, vous allez :

  1. Écrire une requête KQL qui transforme les données ingérées.
  2. Modifier le schéma de table cible.
  3. Ajouter la transformation à votre règle de collecte des données.
  4. Vérifier que la transformation fonctionne correctement.

Conditions préalables

Pour effectuer cette procédure, vous devez disposer de ce qui suit :

  • Un espace de travail Log Analytics dans lequel vous avez au moins des droits de contributeur.
  • Une règle de collecte des données, un point de terminaison de collecte des données et une table personnalisée, comme décrit dans Collecter des journaux texte avec l’agent Azure Monitor.
  • Une machine virtuelle, un groupe de machines virtuelles identiques ou un serveur local qui écrit les journaux dans un fichier texte. Configuration requise pour les fichiers texte :
    • Est stocké sur le lecteur local de la machine sur laquelle l’agent Azure Monitor s’exécute.
    • Est délimité par une fin de ligne.
    • Utilise l’encodage ASCII ou UTF-8. D’autres formats, tel UTF-16, ne sont pas pris en charge.
    • N’autorise pas la journalisation circulaire, la rotation des journaux où le fichier est remplacé par de nouvelles entrées, ni le renommage où le fichier est déplacé et un nouveau fichier de même nom est ouvert.

Écrire une requête KQL qui transforme les données ingérées

  1. Affichez les données dans la table personnalisée cible dans Log Analytics :

    1. Dans le portail Azure, sélectionnez Espaces de travail Log Analytics> votre espace de travail Log Analytics >Journaux.
    2. Exécutez une requête simple dans la table des journaux personnalisés pour afficher les données de la table.
  2. Utilisez la fenêtre de requête pour écrire et tester une requête qui transforme les données brutes dans votre table.

    Pour plus d’informations sur les opérateurs KQL pris en charge par les transformations, consultez Structure de transformation dans Azure Monitor.

    Remarque

    Pour appliquer des transformations, les seules colonnes disponibles sont TimeGenerated et RawData. D’autres colonnes sont ajoutées automatiquement au tableau après la transformation et ne sont pas disponibles au moment de la transformation. La colonne _ResourceId ne peut pas être utilisée dans la transformation.

    Exemple

    L’exemple utilise des opérateurs KQL de base pour analyser les données de la colonne RawData et en faire trois nouvelles colonnes, appelées Time Ingested, RecordNumberet RandomContent :

    • L’opérateur extend ajoute les nouvelles colonnes.
    • L’opérateur project met en forme la sortie pour qu’elle corresponde aux colonnes du schéma de table cible :
    MyTable_CL
    | extend d=todynamic(RawData)  
    | project TimeGenerated,TimeIngested=tostring(d.Time), 
    RecordNumber=tostring(d.RecordNumber), 
    RandomContent=tostring(d.RandomContent), 
    RawData 
    

    Remarque

    Interroger les données d'une table de cette manière ne modifie pas réellement les données de la table. Azure Monitor applique la transformation dans le pipeline d’ingestion des données après l’ajout de votre requête de transformation à la règle de collecte des données.

  3. Mettez en forme la requête en une seule ligne et remplacez le nom de la table dans la première ligne de la requête par le mot source.

    Par exemple :

    source | extend d=todynamic(RawData) | project TimeGenerated,TimeIngested=tostring(d.Time),RecordNumber=tostring(d.RecordNumber), RandomContent=tostring(d.RandomContent), RawData 
    
  4. Copiez la requête mise en forme pour pouvoir la coller dans la configuration de la règle de collecte des données.

Modifier la table personnalisée pour y inclure les nouvelles colonnes

Ajoutez ou supprimez des colonnes dans votre table personnalisée sur la base de votre requête de transformation.

L’exemple de requête de transformation ci-dessus ajoute trois nouvelles colonnes de type string :

  • TimeIngested
  • RecordNumber
  • RandomContent

Pour prendre en charge cette transformation, ajoutez ces trois nouvelles colonnes à votre table personnalisée.

Capture d’écran du volet Éditeur de schéma avec les colonnes TimeIngested, RecordNumber et RandomContent en cours de définition.

Appliquer la transformation à votre règle de collecte des données

  1. Dans le menu Superviser, sélectionnez Règles de collecte des données> pour votre règle de collecte des données.

  2. Sélectionnez Sources de données> votre source de données.

  3. Collez la requête de transformation mise en forme dans le champ Transformer sous l’onglet Source de données de l’écran Ajouter une source de données.

  4. Sélectionnez Enregistrer.

    Capture d’écran du volet Ajouter une source de données, avec le champ Transformer mis en évidence.

Vérifier que la transformation fonctionne

Affichez les données de la table personnalisée cible et vérifiez que les données sont correctement ingérées dans la table modifiée :

  1. Dans le portail Azure, sélectionnez Espaces de travail Log Analytics> votre espace de travail Log Analytics >Journaux.
  2. Exécutez une requête simple dans la table des journaux personnalisés pour afficher les données de la table.

Étapes suivantes

Pour en savoir plus :