Azure AD-logboeken integreren met Azure Monitor

In dit artikel leert u hoe u Airflow-logboeken voor uw Microsoft Azure Data Manager for Energy-exemplaren kunt verzamelen in Azure Monitor. Met deze integratiefunctie kunt u fouten opsporen in Airflow DAG (Directed Acyclic Graph) bij het uitvoeren van fouten.

Vereisten

  • Een bestaande Log Analytics-werkruimte. Deze werkruimte wordt gebruikt om query's uit te voeren op de Airflow-logboeken met behulp van de Kusto-querytaal -queryeditor (KQL) in de Log Analytics-werkruimte. Nuttige resource: een Log Analytics-werkruimte maken in Azure Portal.

  • Een bestaand opslagaccount: het wordt gebruikt voor het opslaan van JSON-dumps van Airflow-logboeken. Het opslagaccount hoeft zich niet in hetzelfde abonnement te bevinden als uw Log Analytics-werkruimte.

Diagnostische instellingen inschakelen voor het verzamelen van logboeken in een opslagaccount

Elke Instantie van Azure Data Manager voor Energie is ingebouwd met een door Azure Data Factory beheerd Airflow-exemplaar. We verzamelen Airflow-logboeken voor interne probleemoplossing en foutopsporing. Airflow-logboeken kunnen op de volgende manieren worden geïntegreerd met Azure Monitor:

  • Opslagaccount
  • Log Analytics-werkruimte

Als u logboeken wilt openen via een van de bovenstaande twee opties, moet u een diagnostische instelling maken. Elke diagnostische instelling heeft drie basisonderdelen:

Onderdeel Description
Naam Dit is de naam van het diagnostische logboek. Zorg ervoor dat er een unieke naam is ingesteld voor elk logboek.
Categorieën Categorie logboeken die naar elk van de bestemmingen moeten worden verzonden. De set categorieën verschilt per Azure-service. Bezoek: Ondersteunde resourcelogboekcategorieën
Bestemmingen Een of meer bestemmingen voor de logboeken. Alle Azure-services delen dezelfde set mogelijke bestemmingen. Elke diagnostische instelling kan een of meer bestemmingen hebben, maar niet meer dan één bestemming van een bepaald type. Dit moet een opslagaccount, een Event Hubs-naamruimte of een Event Hub zijn.

Volg de volgende stappen om diagnostische Instellingen in te stellen:

  1. Overzichtspagina van Microsoft Azure Data Manager for Energy openen

  2. Selecteer Diagnostische Instellingen in het linkerdeelvenster

    Screenshot for Azure monitor diagnostic setting overview page. The page shows a list of existing diagnostic settings and the option to add a new one.

  3. Diagnostische instelling toevoegen selecteren

  4. Airflow-taaklogboeken selecteren onder Logboeken

  5. Archiveren selecteren in een opslagaccount

    Screenshot for creating a diagnostic setting to archive logs to a storage account. The image shows the subscription and the storage account chosen for a diagnostic setting.

  6. Controleer het abonnement en het opslagaccount waarnaar u de logboeken wilt archiveren.

Nadat een diagnostische instelling is gemaakt voor het archiveren van airflow-taaklogboeken in een opslagaccount, kunt u naar de overzichtspagina van het opslagaccount navigeren. U kunt vervolgens de 'Opslagbrowser' in het linkerdeelvenster gebruiken om het juiste JSON-bestand te vinden dat u wilt onderzoeken. Bladeren door verschillende mappen is intuïtief wanneer u van een jaar naar een maand naar een dag navigeert.

  1. Navigeer door Containers, beschikbaar in het linkerdeelvenster.

    Screenshot for exploring archived logs in the containers of the Storage Account. The container will show logs from all the sources set up.

  2. Open het informatievenster aan de rechterkant. Het bevat een 'downloadknop' om het logboekbestand lokaal op te slaan.

  3. Gedownloade logboeken kunnen in elke editor worden geanalyseerd.

Diagnostische instellingen inschakelen voor het integreren van logboeken met Log Analytics Workspace

U kunt Airflow-logboeken integreren met Log Analytics Workspace met behulp van diagnostische Instellingen in het linkerdeelvenster van uw overzichtspagina van uw Microsoft Azure Data Manager for Energy-exemplaar.

Screenshot for creating a diagnostic setting. It shows the options to select subscription & Log Analytics Workspace with which to integrate.

Werken met de geïntegreerde Airflow-logboeken in Log Analytics Workspace

Gebruik Kusto-querytaal (KQL) om de gewenste gegevens op te halen over verzamelde Airflow-logboeken uit uw Log Analytics-werkruimte. U kunt de vooraf gemaakte voorbeeldquery's laden in uw Log Analytics-werkruimte of uw eigen query's maken.

Screenshot for Azure Monitor Log Analytics page for viewing collected logs. Under log management, tables from all sources will be visible.

  1. Vooraf gemaakte query's laden: Selecteer logboeken in het menu van uw resource. Log Analytics wordt geopend met het venster Query's met vooraf gedefinieerde query's voor uw resourcetype. Blader door de beschikbare query's. Identificeer het item dat moet worden uitgevoerd en selecteer Uitvoeren. De query wordt toegevoegd aan het queryvenster en de resultaten worden geretourneerd.

  2. Query's schrijven in de Query-editor: u kunt de volgende query's kopiëren, plakken en bewerken of uw eigen query's schrijven in KQL op het Power Query-editor van uw Log Analytics-werkruimte.

Voorbeeldquery's

Deze query retourneert alle Airflow-logboeken die van niveau ERROR zijn. U kunt de resultaten filteren door de component voor de naam en correlatie-id van het Exemplaar van Azure Data Manager voor Energie toe te voegen (opmerkingen te verwijderen) voor uw DAG-uitvoeringen.


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

Deze query bevat alle DAG-uitvoeringen en de bijbehorende correlatie-id's in de genoemde Azure Data Manager for Energy-resource.


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

We hebben een document toegevoegd om u te helpen bij het oplossen van problemen met uw manifestopnameproces met behulp van de Airflow-logboeken die zijn verzameld in uw Log Analytics-werkruimte.

Volgende stappen

Nu u resourcelogboeken verzamelt, maakt u een logboekquerywaarschuwing om proactief op de hoogte te worden gesteld wanneer interessante gegevens worden geïdentificeerd in uw logboekgegevens.