Intégrer des journaux d’activité Airflow à Azure Monitor

Dans cet article, apprenez à collecter des journaux d’activité Airflow pour vos instances Microsoft Azure Data Manager for Energy dans Azure Monitor. Cette fonctionnalité d’intégration vous permet de déboguer les échecs d’exécution d’Airflow DAG (Directed Acyclic Graph).

Prérequis

  • Un espace de travail Log Analytics existant. Cet espace de travail sera utilisé pour interroger les journaux d’activité Airflow à l’aide de l’éditeur de requête Langage de requête Kusto (KQL) dans l’espace de travail Log Analytics. Ressource utile : Créer un espace de travail Log Analytics dans le Portail Azure.

  • Un compte de stockage existant : il sera utilisé pour stocker les vidages JSON des journaux d’activité Airflow. Il n’est pas nécessaire que le compte de stockage figure dans le même abonnement que votre espace de travail Log Analytics.

Activation des paramètres de diagnostic pour collecter les journaux d’activité dans un compte de stockage

Chaque instance Azure Data Manager for Energy est fournie avec une instance du gestionnaire du flux de travail Azure Data Factory (avec Apache Airflow) intégrée. Nous collectons les journaux d’activité Airflow à des fins de résolution des problèmes et de débogage internes. Les journaux d’activité Airflow peuvent être intégrés à Azure Monitor de la manière suivante :

  • Compte de stockage
  • Espace de travail Log Analytics

Pour accéder aux journaux d’activité via l’une des deux options ci-dessus, vous devez créer un paramètre de diagnostic. Chaque paramètre de diagnostic comporte trois parties :

Élément Description
Nom Il s’agit du nom du journal de diagnostic. Vérifiez qu’un nom unique est défini pour chaque journal.
Catégories La catégorie des journaux à envoyer à chacune des destinations. L’ensemble des catégories varie en fonction de chaque service Azure. Consultez : Catégories de journaux de ressources prises en charge
Destinations Une ou plusieurs destinations auxquelles envoyer les journaux. Tous les services Azure partagent le même ensemble de destinations possibles. Chaque paramètre de diagnostic peut définir une ou plusieurs destinations, mais pas plus d’une destination d’un type spécifique. Il doit s’agir d’un compte de stockage, d’un espace de noms Event Hubs ou d’un hub d’événements.

Suivez les étapes ci-après pour configurer les paramètres de diagnostic :

  1. Ouvrez la page Vue d’ensemble de Microsoft Azure Data Manager for Energy

  2. Sélectionnez Paramètres de diagnostic dans le volet gauche.

    Capture d’écran de la page Vue d’ensemble des paramètres de diagnostic Azure Monitor. La page affiche une liste des paramètres de diagnostic existants et l’option permettant d’en ajouter un nouveau.

  3. Sélectionnez Ajouter un paramètre de diagnostic.

  4. Sélectionnez Journaux d’activité des tâches Airflow sous Journaux d’activité

  5. Cochez Archiver dans un compte de stockage

    Capture d’écran de création d’un paramètre de diagnostic pour archiver les journaux d’activité dans un compte de stockage. L’image montre l’abonnement et le compte de stockage choisis pour un paramètre de diagnostic.

  6. Vérifiez l’abonnement et le compte de stockage dans lesquels vous souhaitez archiver les journaux d’activité.

Une fois qu’un paramètre de diagnostic est créé pour l’archivage des journaux d’activité des tâches Airflow dans un compte de stockage, vous pouvez accéder à la page vue d’ensemble du compte de stockage. Vous pouvez ensuite utiliser le « Navigateur de stockage » dans le volet gauche pour rechercher le fichier JSON approprié que vous souhaitez examiner. La navigation dans différents répertoires est intuitive lorsque vous passez d’un an à un mois puis à un jour.

  1. Parcourez les conteneurs, disponibles dans le volet gauche.

    Capture d’écran de l’exploration des journaux d’activité archivés dans les conteneurs du compte de stockage. Le conteneur affiche les journaux d’activité de toutes les sources configurées.

  2. Ouvrez le volet d’informations à droite. Il contient un bouton « télécharger » pour enregistrer le fichier journal localement.

  3. Les journaux d’activité téléchargés peuvent être analysés dans n’importe quel éditeur.

Activation des paramètres de diagnostic pour intégrer des journaux d’activité à l’espace de travail Log Analytics

Vous pouvez intégrer des journaux d’activité Airflow à l’espace de travail Log Analytics à l’aide des Paramètres de diagnostic sous le volet gauche de la page de vue d’ensemble de votre instance Microsoft Azure Data Manager for Energy.

Capture d’écran de la page de création d’un paramètre de diagnostic. Elle affiche les options permettant de sélectionner l’abonnement et l’espace de travail Log Analytics avec lequel effectuer l’intégration.

Utilisation des journaux d’activité Airflow intégrés dans l’espace de travail Log Analytics

Utilisez le langage de requête Kusto (KQL) pour récupérer les données souhaitées sur les journaux Airflow collectés à partir de votre espace de travail Log Analytics. Vous pouvez charger les exemples de requêtes prédéfinis dans votre espace de travail Log Analytics ou créer vos propres requêtes.

Capture d’écran de la page Log Analytics d’Azure Monitor pour afficher les journaux d’activité collectés. Sous Gestion du journal, les tables de toutes les sources seront visibles.

  1. Chargement de requêtes prédéfinies : sélectionnez Journaux dans le menu de votre ressource. Log Analytics s’ouvre avec la fenêtre Requêtes qui contient des requêtes prégénérées pour votre type de ressource. Parcourez les requêtes disponibles. Identifiez celle à exécuter, puis sélectionnez Exécuter. La requête est ajoutée à la fenêtre de requête et les résultats sont retournés.

  2. Écrire des requêtes dans l’Éditeur de requête : vous pouvez copier, coller et modifier les requêtes suivantes ou écrire vos propres requêtes en KQL dans l’Éditeur de requête de votre espace de travail Log Analytics.

Exemples de requêtes

Cette requête retourne tous les journaux Airflow de niveau ERROR. Vous pouvez filtrer les résultats en ajoutant (sans commentaire) une clause where pour le nom de l’instance Azure Data Manager for Energy et l’ID de corrélation pour vos exécutions DAG.


OEPAirFlowTask
| extend ResourceName = tostring(split(_ResourceId , '/')[-1])
// | where ResourceName == "<the name of ADME instance>"        // to filter on resourceName replace <...> and uncomment line
// | where CorrelationId == "<DAG run's runId>"                 // to filter on correlationID replace <...> with correlationId (same as runId) - we have created a duplicate for to maintain consistency of column name across all services 
| where LogLevel  == "ERROR"
| project TimeGenerated, DagName, LogLevel, DagTaskName, CodePath, Content

Cette requête répertorie toutes les exécutions DAG et leurs ID de corrélation correspondants dans la ressource Azure Data Manager for Energy mentionnée.


OEPAirFlowTask
| extend ResourceName = tostring(split(_ResourceId , '/')[-1])
// | where ResourceName == "<the name of ADME instance>"        // to filter on resourceName replace <...> and uncomment line
| distinct DagName, CorrelationId                               // correlationId is same as runId - we have created a duplicate for consistency in search across logs of all services 
| sort by DagName asc

Nous avons ajouté un document pour vous aider à résoudre les problèmes avec votre processus d’ingestion de manifeste à l’aide des journaux Airflow collectés dans votre espace de travail Log Analytics.

Étapes suivantes

Maintenant que vous collectez des journaux de ressource, créez une alerte de requête de journal pour être averti de manière proactive quand des données intéressantes sont identifiées dans vos données de journal.