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 à :
- Configurer une transformation de l’espace de travail pour une table dans un espace de travail Log Analytics.
- Écrivez une requête de journal pour une transformation d’espace de travail.
Prérequis
Pour suivre ce didacticiel, vous avez besoin des éléments suivants :
- Un espace de travail Log Analytics dans lequel vous avez au moins des droits de contributeur.
- Autorisations pour créer des objets de règle de collecte de données (DCR) dans l’espace de travail.
- Table qui contient déjà des données.
- La table ne peut pas être liée au DCR de transformation de l’espace de travail.
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.
Dans le menu Espaces de travail Log Analytics du portail Azure, sélectionnez Paramètres de diagnostic>Ajouter un paramètre de diagnostic.
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.
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.
Ajouter une transformation à la table
Maintenant que la table a été créée, vous pouvez y ajouter la transformation.
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.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é.
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.
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 tablesource
sans aucune modification.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
.- Les lignes liées à l’interrogation de la table
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.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.
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.