Einrichten von Azure Monitor-Protokollen und Sammeln von Diagnosedaten für Azure Logic Apps
Hinweis
Dieser Artikel gilt nur für Logik-Apps im Verbrauchstarif. Informationen zum Überwachen von Standard-Logik-Apps finden Sie unter Aktivieren oder Öffnen von Application Insights nach der Bereitstellung für Standard-Logik-Apps.
Um während der Laufzeit umfangreichere Debuginformationen zu ihren Logik-Apps zu erhalten, können Sie Azure Monitor-Protokolle einrichten und verwenden, um Informationen zu Laufzeitdaten und -ereignissen aufzuzeichnen und zu speichern, z. B. Triggerereignisse, Ausführungsereignisse und Aktionsereignisse in einem Log Analytics-Arbeitsbereich. Azure Monitor hilft Ihnen bei der Überwachung Ihrer Cloud- und lokalen Umgebungen, sodass Sie deren Verfügbarkeit und Leistung leichter sicherstellen können. Durch die Verwendung von Azure Monitor-Protokollen können Sie Protokollabfragen erstellen, die Ihnen helfen, diese Informationen zu sammeln und zu überprüfen. Sie können diese Diagnosedaten auch mit anderen Azure-Diensten verwenden, z. B. Azure Storage und Azure Event Hubs.
Zum Einrichten der Protokollierung für Ihre Logik-App können Sie beim Erstellen Ihrer Logik-App Log Analytics aktivieren, oder Sie können die Logic Apps-Verwaltungslösung in Ihrem Log Analytics-Arbeitsbereich für vorhandene Logik-Apps installieren. Diese Lösung bietet aggregierte Informationen für Ihre Logik-App-Ausführungen und umfasst spezifische Details wie Status, Ausführungszeit, Status der erneuten Übermittlung und Korrelations-IDs. Um dann die Protokollierung zu aktivieren und Abfragen für diese Informationen zu erstellen, richten Sie Azure Monitor-Protokolle ein.
In diesem Artikel erfahren Sie, wie Sie Log Analytics für neue und bereits vorhandene Logik-Apps aktivieren, wie Sie die Logic Apps-Verwaltungslösung installieren und einrichten und wie Sie Abfragen für Azure Monitor-Protokolle einrichten und erstellen.
Voraussetzungen
Ein Azure-Konto und ein Azure-Abonnement. Falls Sie kein Abonnement besitzen, können Sie sich für ein kostenloses Azure-Konto registrieren.
Berechtigungen „Besitzer“ oder „Mitwirkender“ für Azure-Abonnements, damit Sie die Lösung für die Logic Apps-Verwaltung über Azure Marketplace installieren können. Weitere Informationen finden Sie unter Kaufberechtigung – Kaufen im Azure Marketplace und Azure-Rollen: Administratorrollen für klassische Abonnements, Azure-Rollen und Azure AD-Rollen.
Einen Log Analytics-Arbeitsbereich. Falls Sie keinen Arbeitsbereich besitzen, lesen Sie die Informationen zum Erstellen eines Log Analytics-Arbeitsbereichs.
Aktivieren von Log Analytics für neue Logik-Apps
Sie können Log Analytics aktivieren, wenn Sie Ihre Logik-App erstellen.
Führen Sie im Azure-Portal im Bereich Logik-App erstellen, in dem Sie die Informationen zum Erstellen Ihrer verbrauchsplanbasierten Logik-App bereitstellen, die folgenden Schritte aus:
Wählen Sie unter Log Analytics aktivieren die Option Ja aus.
Wählen Sie in der Liste der Log Analytics-Arbeitsbereiche den Arbeitsbereich aus, an den Sie Daten für Ihre Logik-App-Ausführungen senden möchten.
Schließen Sie die Erstellung Ihrer Logik-App ab. Wenn Sie fertig sind, ist Ihre Logik-App Ihrem Log Analytics-Arbeitsbereich zugeordnet. Mit diesem Schritt wird auch die Lösung für die Logik-App-Verwaltung automatisch in Ihrem Arbeitsbereich installiert.
Fahren Sie, nachdem Sie Ihre Logik-App ausgeführt haben, mit diesen Schritten fort, um Ihre Logik-App-Ausführungen anzuzeigen.
Installieren der Lösung Logic Apps-Verwaltung
Überspringen Sie diesen Schritt, falls Sie Log Analytics beim Erstellen Ihrer Logik-App aktiviert haben. Sie haben die Logic Apps-Verwaltungslösung bereits in Ihrem Log Analytics-Arbeitsbereich installiert.
Geben Sie in das Suchfeld des Azure-PortalsLog Analytics-Arbeitsbereiche ein. Wählen Sie Log Analytics-Arbeitsbereiche aus.
Wählen Sie unter Log Analytics-Arbeitsbereiche Ihren Arbeitsbereich aus.
Wählen Sie im Bereich Übersicht unter Erste Schritte mit Log Analytics>Überwachungslösungen konfigurieren die Option Lösungen anzeigen aus.
Wählen Sie unter Übersicht die Option Hinzufügen aus.
Geben Sie, nachdem der Marketplace geöffnet wurde, in das Suchfeld Logic Apps-Verwaltung ein. Wählen Sie Logic Apps-Verwaltung aus.
Wählen Sie auf der Kachel Logic Apps-Verwaltung in der Liste Erstellen die Option Logic Apps-Verwaltung aus.
Wählen Sie im Bereich Logic Apps-Verwaltungslösung (Vorschau) erstellen den Log Analytics-Arbeitsbereich aus, in dem Sie die Lösung installieren möchten. Wählen Sie Überprüfen und erstellen aus, überprüfen Sie Ihre Informationen, und wählen Sie Erstellen aus.
Nachdem Azure die Lösung in der Azure-Ressourcengruppe bereitgestellt hat, die den Log Analytics-Arbeitsbereich enthält, wird die Lösung im Zusammenfassungsbereich Ihres Arbeitsbereichs unter Übersicht angezeigt.
Einrichten von Azure Monitor-Protokollen
Wenn Sie Informationen zu Laufzeitereignissen und -daten in Azure Monitor-Protokollen speichern, können Sie Protokollabfragen erstellen, die Ihnen helfen, diese Informationen zu finden und zu überprüfen.
Hinweis
Nach Aktivierung der Diagnoseeinstellungen kann es bis zu 30 Minuten dauern, bis Diagnosedaten an die Protokolle am angegebenen Ziel (beispielsweise Log Analytics, Event Hub oder Speicherkonto) übermittelt werden. Diese Verzögerung bedeutet, dass Diagnosedaten aus diesem Zeitraum möglicherweise nicht überprüft werden können. Abgeschlossene Ereignisse und nachverfolgte Eigenschaften werden unter Umständen erst nach zehn bis 15 Minuten in Ihrem Log Analytics-Arbeitsbereich angezeigt.
Suchen Sie im Azure-Portal nach Ihrer Logik-App, und wählen Sie sie aus.
Wählen Sie im Menü Ihrer Logik-App unter Überwachung die Option Diagnoseeinstellungen>Diagnoseeinstellung hinzufügen aus.
Führen Sie die folgenden Schritte aus, um die Einstellung zu erstellen:
Geben Sie für Name der Diagnoseeinstellung einen Namen für die Einstellung an.
Wählen Sie unter Zieldetails die Option An Log Analytics-Arbeitsbereich senden aus.
Wählen Sie für Abonnement das Azure-Abonnement aus, das Ihrem Log Analytics-Arbeitsbereich zugeordnet ist.
Wählen Sie für Log Analytics-Arbeitsbereich Ihren Arbeitsbereich aus.
Wählen Sie unter Protokolle>Kategorien die Kategorie WorkflowRuntime aus, die die Ereigniskategorie angibt, die Sie aufzeichnen möchten.
Wählen Sie unter Metriken die Option AllMetrics aus.
Klicken Sie auf Speichern, wenn Sie fertig sind.
Wenn Sie fertig sind, sieht Ihre Version dem folgenden Beispiel ähnlich:
Anzeigen des Ausführungsstatus der Logik-App
Im Anschluss an die Ausführung Ihrer Logik-App können Sie die Daten zu diesen Ausführungen in Ihrem Log Analytics-Arbeitsbereich anzeigen.
Suchen Sie im Azure-Portal Ihren Log Analytics-Arbeitsbereich, und öffnen Sie ihn.
Wählen Sie im Menü Ihres Arbeitsbereichs unter AllgemeinArbeitsbereichszusammenfassung>Logic Apps-Verwaltung aus.
Hinweis
Wenn auf der Kachel „Logic Apps-Verwaltung“ nicht sofort nach einer Ausführung Ergebnisse angezeigt werden, wählen Sie Aktualisieren aus, oder warten Sie einen kurzen Moment, bevor Sie es noch mal versuchen.
Hier sind Ihre Logik-App-Ausführungen nach Name oder Ausführungsstatus gruppiert. Auf dieser Seite finden Sie auch Details zu Fehlern in Aktionen oder Triggern für die Logik-App-Ausführungen.
Wählen Sie die Zeile für eine Logik-App oder einen Status aus, um alle Ausführungen für eine bestimmte Logik-App bzw. einen Status anzuzeigen.
Hier ist ein Beispiel angegeben, bei dem alle Ausführungen für eine bestimmte Logik-App aufgeführt werden:
Für Aktionen, bei denen Sie nachverfolgte Eigenschaften einrichten, können Sie diese Eigenschaften auch anzeigen, indem Sie in der Spalte Nachverfolgte Eigenschaften den Befehl Anzeigen auswählen. Sie können die nachverfolgten Eigenschaften mit dem Spaltenfilter durchsuchen.
Zum Filtern Ihrer Ergebnisse können Sie sowohl die clientseitige als auch die serverseitige Filterung durchführen.
Clientseitiger Filter: Wählen Sie für jede Spalte die gewünschten Filter aus. Beispiel:
Serverseitiger Filter: Verwenden Sie das Steuerelement für die Bereichsauswahl oben auf der Seite, um ein bestimmtes Zeitfenster auszuwählen oder die Anzahl von angezeigten Ausführungen zu begrenzen. Standardmäßig werden nur jeweils 1.000 Datensätze angezeigt.
Um alle Aktionen und deren Details für eine bestimmte Ausführung anzuzeigen, wählen Sie die Zeile für eine Logik-App-Ausführung aus.
Hier ist ein Beispiel mit allen Aktionen und Triggern für eine bestimmte Logik-App-Ausführung dargestellt:
Senden von Diagnosedaten an Azure Storage und Azure Event Hubs
In Verbindung mit Azure Monitor-Protokollen können Sie die Nutzung der Diagnosedaten Ihrer Logik-App um andere Azure-Dienste erweitern, z.B.:
- Archivieren von Azure-Ressourcenprotokollen in einem Speicherkonto
- Streamen von Protokollen der Azure-Plattform an Azure Event Hubs
Durch die Verwendung von Telemetriedaten und Analysen anderer Dienste (beispielsweise Azure Stream Analytics und Power BI) können Sie dann eine Überwachung in Echtzeit implementieren. Beispiel:
- Streamen von Daten von Event Hubs zu Stream Analytics
- Analysieren von Streamingdaten mit Stream Analytics und Erstellen eines Dashboards für die Echtzeitanalyse in Power BI
Stellen Sie auf Grundlage der Orte, an die Sie Diagnosedaten senden möchten, sicher, dass Sie zuerst ein Azure Storage-Konto oder einen Azure Event Hub erstellen. Sie können dann die Ziele auswählen, an die Sie diese Daten senden möchten. Werte für die Beibehaltungsdauer gelten nur, wenn Sie ein Speicherkonto verwenden.
Azure Monitor-Diagnoseereignisse
Jedes Diagnoseereignis enthält Details zu Ihrer Logik-App und zum Ereignis, z.B. Status, Startzeit, Endzeit usw. Für die programmgesteuerte Einrichtung der Überwachung, Nachverfolgung und Protokollierung können Sie diese Informationen mit der REST-API für Azure Logic Apps und der REST-API für Azure Monitor verwenden. Sie können außerdem die Eigenschaften clientTrackingId
und trackedProperties
verwenden, die angezeigt werden in
clientTrackingId
: Wenn sie nicht angegeben ist, wird diese ID von Azure automatisch generiert, und Ereignisse werden für eine Ausführung der Logik-App korreliert. Dies gilt auch für geschachtelte Workflows, die über die Logik-App aufgerufen werden. Sie können diese ID manuell in einem Trigger angeben, indem Sie einenx-ms-client-tracking-id
-Header mit Ihrem benutzerdefinierten ID-Wert in der Triggeranforderung übergeben. Sie können einen Anforderungstrigger, HTTP-Trigger oder Webhooktrigger verwenden.trackedProperties
: Zum Nachverfolgen der Ein- oder Ausgaben in Diagnosedaten können Sie einer Aktion einentrackedProperties
-Abschnitt hinzufügen, indem Sie entweder den Logik-App-Designer verwenden, oder direkt in der JSON-Definition Ihrer Logik-App. Nachverfolgte Eigenschaften können nur die Ein- und Ausgaben einer einzelnen Aktion nachverfolgen. Mit dencorrelation
-Eigenschaften der Ereignisse ist aber eine aktionsübergreifende Korrelation innerhalb einer Ausführung möglich. Fügen Sie den AbschnitttrackedProperties
und die gewünschten Eigenschaften der Aktionsdefinition hinzu, um mehr als eine Eigenschaft nachzuverfolgen.Hier sehen Sie ein Beispiel, das zeigt, wie die Definition der Aktion Variable initialisieren nachverfolgte Eigenschaften aus der Eingabe der Aktion umfasst, wobei die Eingabe ein Array und kein Datensatz ist.
{ "Initialize_variable": { "type": "InitializeVariable", "inputs": { "variables": [ { "name": "ConnectorName", "type": "String", "value": "SFTP-SSH" } ] }, "runAfter": {}, "trackedProperties": { "myTrackedPropertyName": "@action().inputs.variables[0].value" } } }
In diesem Beispiel werden mehrere nachverfolgte Eigenschaften angezeigt:
"HTTP": { "type": "Http", "inputs": { "body": "@triggerBody()", "headers": { "Content-Type": "application/json" }, "method": "POST", "uri": "http://store.fabrikam.com", }, "runAfter": {}, "trackedProperties": { "myActionHTTPStatusCode": "@action()['outputs']['statusCode']", "myActionHTTPValue": "@action()['outputs']['body']['<content>']", "transactionId": "@action()['inputs']['body']['<content>']" } }
Dieses Beispiel zeigt, wie das ActionCompleted
-Ereignis die Attribute clientTrackingId
und trackedProperties
einschließt:
{
"time": "2016-07-09T17:09:54.4773148Z",
"workflowId": "/subscriptions/XXXXXXXXXXXXXXX/resourceGroups/MyResourceGroup/providers/Microsoft.Logic/workflows/MyLogicApp",
"resourceId": "/subscriptions/<subscription-ID>/resourceGroups/MyResourceGroup/providers/Microsoft.Logic/workflows/MyLogicApp/runs/<run-ID>/actions/Http",
"category": "WorkflowRuntime",
"level": "Information",
"operationName": "Microsoft.Logic/workflows/workflowActionCompleted",
"properties": {
"$schema": "2016-06-01",
"startTime": "2016-07-09T17:09:53.4336305Z",
"endTime": "2016-07-09T17:09:53.5430281Z",
"status": "Succeeded",
"code": "OK",
"resource": {
"subscriptionId": "<subscription-ID>",
"resourceGroupName": "MyResourceGroup",
"workflowId": "<logic-app-workflow-ID>",
"workflowName": "MyLogicApp",
"runId": "08587361146922712057",
"location": "westus",
"actionName": "Http"
},
"correlation": {
"actionTrackingId": "e1931543-906d-4d1d-baed-dee72ddf1047",
"clientTrackingId": "<my-custom-tracking-ID>"
},
"trackedProperties": {
"myTrackedPropertyName": "<value>"
}
}
}