Tutoriel : Ajouter une transformation dans une règle de collecte de données d’espace de travail en utilisant le portail Azure

Ce tutoriel vous guide tout au long de la configuration d’un exemple de transformation dans une règle de collecte de données (DCR) d’espace de travail en utilisant le portail Azure. Les transformations dans Azure Monitor vous permettent de filtrer ou de modifier des données entrantes avant qu’elles ne soient envoyées à leurs destinations. Les transformations d’espace de travail prennent en charge les transformations au moment de l’ingestion pour les flux de travail qui n’utilisent pas encore le pipeline d’ingestion de données Azure Monitor.

Les transformations d’espace de travail sont stockées ensemble dans une DCR pour l’espace de travail, qui est appelée DCR de l’espace de travail. Chaque transformation est associée à une table particulière. La transformation est appliquée à toutes les données envoyées à cette table à partir d’un flux de travail qui n’utilise pas de DCR.

Notes

Ce tutoriel utilise le portail Azure pour configurer une transformation de l’espace de travail. Pour le même tutoriel utilisant les modèles Azure Resource Manager et l’API REST, consultez Tutoriel : Ajouter une transformation dans la règle de collecte des données de l’espace de travail à Azure Monitor à l’aide des modèles de gestionnaire de ressources.

Dans ce tutoriel, vous allez apprendre à :

Prérequis

Pour suivre ce didacticiel, vous avez besoin des éléments suivants :

Vue d’ensemble du tutoriel

Dans ce didacticiel, vous allez réduire les besoins de stockage de la table LAQueryLogs en filtrant certains enregistrements. Vous supprimerez également le contenu d’une colonne lors de l’analyse des données de la colonne pour stocker une partie des données dans une colonne personnalisée. La table LAQueryLogs est créée lorsque vous activez l'audit de requête sur un journal dans un espace de travail. Vous pouvez utiliser ce même processus de base pour créer une transformation pour toute table prise en charge dans un espace de travail Log Analytics.

Ce tutoriel utilise le portail Azure, qui fournit un Assistant pour vous guider tout au long du processus de création d’une transformation de la durée d’ingestion. Une fois les étapes terminées, vous voyez que l’Assistant :

  • Met à jour le schéma de table avec toutes les autres colonnes de la requête.
  • Crée une DCR WorkspaceTransforms et associe cette règle à l’espace de travail si une DCR par défaut n’est pas déjà liée à l’espace de travail.
  • Création d’une transformation de la durée d’ingestion et ajout de celle-ci à la DCR.

Activer les journaux d’audit des requêtes

Vous devez activer l’audit des requêtes pour votre espace de travail afin de créer la table LAQueryLogs avec laquelle vous allez travailler. Cette étape n’est pas obligatoire pour toutes les transformations de la durée d’ingestion. Il s’agit simplement de générer les exemples de données que nous allons utiliser.

  1. Dans le menu Espaces de travail Log Analytics du portail Azure, sélectionnez Paramètres de diagnostic>Ajouter un paramètre de diagnostic.

    Capture d’écran montrant les paramètres de diagnostic.

  2. Entrez un nom pour le paramètre de diagnostic. Sélectionnez l’espace de travail afin que les données d’audit soient stockées dans le même espace de travail. Sélectionnez la catégorie Audit, puis sélectionnez Enregistrer pour enregistrer le paramètre de diagnostic et fermer la page Paramètres de diagnostic.

    Capture d’écran montrant le nouveau paramètre de diagnostic.

  3. Sélectionnez Journaux, puis exécutez des requêtes pour remplir LAQueryLogs avec des données. Ces requêtes ne doivent pas retourner de données pour être ajoutées au journal d’audit.

    Capture d’écran montrant des exemples de requêtes de journal.

Ajouter une transformation à la table

Maintenant que la table a été créée, vous pouvez y ajouter la transformation.

  1. Dans le menu Espaces de travail Log Analytics du portail Azure, sélectionnez Tables. Recherchez la table LAQueryLogs et sélectionnez Création de transformation.

    Capture d’écran montrant la création d’une transformation.

  2. Comme il s’agit de la première transformation dans l’espace de travail, vous devez créer une DCR de transformation de l’espace de travail. Si vous créez des transformations pour d’autres tables dans le même espace de travail, elles sont stockées dans cette même DCR. Sélectionnez Créer une règle de collecte de données. L'abonnement et le groupe de ressources sont déjà renseignés pour l’espace de travail. Entrez un nom pour la DCR et sélectionnez Terminé.

    Capture d’écran montrant la création d’une règle de collecte de données.

  3. Sélectionnez Suivant pour afficher des exemples de données à partir de la table. Au fur et à mesure que vous définissez la transformation, le résultat est appliqué aux exemples de données. Vous pouvez ainsi évaluer les résultats avant de les appliquer aux données réelles. Sélectionnez Éditeur de transformation pour définir la transformation.

    Capture d’écran montrant des exemples de données de la table de journal.

  4. Dans l’éditeur de transformation, vous pouvez voir la transformation qui sera appliquée aux données avant leur ingestion dans la table. Les données entrantes sont représentées par une table virtuelle nommée source, qui a le même ensemble de colonnes que la table de destination proprement dite. La transformation contient initialement une requête simple qui retourne la table source sans aucune modification.

  5. Modifiez la requête d’après l’exemple suivant :

    source
    | where QueryText !contains 'LAQueryLogs'
    | extend Context = parse_json(RequestContext)
    | extend Workspace_CF = tostring(Context['workspaces'][0])
    | project-away RequestContext, Context
    

    La modification apporte les changements suivants :

    • Les lignes liées à l’interrogation de la table LAQueryLogs proprement dite ont été supprimées pour gagner de l’espace, car ces entrées de journal ne sont pas utiles.
    • Une colonne pour le nom de l’espace de travail interrogé a été ajoutée.
    • Les données de la colonne RequestContext ont été supprimées pour gagner de l’espace.

    Notes

    À l’aide du portail Azure, la sortie de la transformation initie des modifications dans le schéma de la table si nécessaire. Les colonnes sont ajoutées pour correspondre à la sortie de la transformation si elles n’existent pas encore. Assurez-vous que votre sortie ne contient pas de colonnes que vous ne souhaitez pas ajouter à la table. Si la sortie n’inclut pas les colonnes qui se trouvent déjà dans la table, ces colonnes ne sont pas supprimées, mais les données ne sont pas ajoutées.

    Toutes les colonnes personnalisées ajoutées à une table intégrée doivent se terminer par _CF. Ce suffixe n’est pas nécessaire dans le nom des colonnes ajoutées à une table personnalisée. Une table personnalisée a un nom qui se termine par _CL.

  6. Copiez la requête dans l’éditeur de transformation, puis sélectionnez Exécuter pour afficher les résultats de l’exemple de données. Vous pouvez vérifier que la nouvelle colonne Workspace_CF est dans la requête.

    Capture d’écran montrant l’éditeur de transformation.

  7. Sélectionnez Appliquer pour enregistrer la transformation, puis Suivant pour vérifier la configuration. Sélectionnez Créer pour mettre à jour la DCR avec la nouvelle transformation.

    Capture d’écran illustrant l’enregistrement de la transformation.

Tester la transformation

Laissez environ 30 minutes pour que la transformation prenne effet et testez-la en exécutant une requête sur la table. Seules les données envoyées à la table après l’application de la transformation seront affectées.

Pour ce didacticiel, exécutez des exemples de requêtes pour envoyer des données à la table LAQueryLogs. Incluez certaines requêtes à LAQueryLogs pour vous permettre de vérifier que la transformation filtre ces enregistrements. La sortie contient désormais la nouvelle colonne Workspace_CF et il n’y a aucun enregistrement pour LAQueryLogs.

Dépannage

Cette section décrit différentes conditions d’erreur que vous pouvez recevoir et explique comment les résoudre.

IntelliSense dans Log Analytics ne reconnaît pas de nouvelles colonnes dans la table

La mise à jour du cache qui pilote IntelliSense peut prendre jusqu’à 24 heures.

La transformation sur une colonne dynamique ne fonctionne pas

Un problème connu affecte les colonnes dynamiques. Une solution de contournement temporaire consiste à analyser explicitement les données de colonne dynamique en utilisant parse_json() avant d’effectuer des opérations sur celles-ci.

Étapes suivantes