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

Aktivieren von Log Analytics für neue Logik-Apps

Sie können Log Analytics aktivieren, wenn Sie Ihre Logik-App erstellen.

  1. 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:

    1. Wählen Sie unter Log Analytics aktivieren die Option Ja aus.

    2. 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.

      Provide logic app information

  2. 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.

  3. 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.

  1. Geben Sie in das Suchfeld des Azure-PortalsLog Analytics-Arbeitsbereiche ein. Wählen Sie Log Analytics-Arbeitsbereiche aus.

    Select

  2. Wählen Sie unter Log Analytics-Arbeitsbereiche Ihren Arbeitsbereich aus.

    Select your Log Analytics workspace

  3. Wählen Sie im Bereich Übersicht unter Erste Schritte mit Log Analytics>Überwachungslösungen konfigurieren die Option Lösungen anzeigen aus.

    On overview pane, select

  4. Wählen Sie unter Übersicht die Option Hinzufügen aus.

    On overview pane, add new solution

  5. Geben Sie, nachdem der Marketplace geöffnet wurde, in das Suchfeld Logic Apps-Verwaltung ein. Wählen Sie Logic Apps-Verwaltung aus.

    From Marketplace, select

  6. Wählen Sie auf der Kachel Logic Apps-Verwaltung in der Liste Erstellen die Option Logic Apps-Verwaltung aus.

    Select

  7. 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.

    Select

    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.

    Screenshot showing workspace summary pane with Logic Apps Management solution.

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.

  1. Suchen Sie im Azure-Portal nach Ihrer Logik-App, und wählen Sie sie aus.

  2. Wählen Sie im Menü Ihrer Logik-App unter Überwachung die Option Diagnoseeinstellungen>Diagnoseeinstellung hinzufügen aus.

    Under

  3. Führen Sie die folgenden Schritte aus, um die Einstellung zu erstellen:

    1. Geben Sie für Name der Diagnoseeinstellung einen Namen für die Einstellung an.

    2. Wählen Sie unter Zieldetails die Option An Log Analytics-Arbeitsbereich senden aus.

    3. Wählen Sie für Abonnement das Azure-Abonnement aus, das Ihrem Log Analytics-Arbeitsbereich zugeordnet ist.

    4. Wählen Sie für Log Analytics-Arbeitsbereich Ihren Arbeitsbereich aus.

    5. Wählen Sie unter Protokolle>Kategorien die Kategorie WorkflowRuntime aus, die die Ereigniskategorie angibt, die Sie aufzeichnen möchten.

    6. Wählen Sie unter Metriken die Option AllMetrics aus.

    7. Klicken Sie auf Speichern, wenn Sie fertig sind.

    Wenn Sie fertig sind, sieht Ihre Version dem folgenden Beispiel ähnlich:

    Select Log Analytics workspace and data for logging

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.

  1. Suchen Sie im Azure-Portal Ihren Log Analytics-Arbeitsbereich, und öffnen Sie ihn.

  2. 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.

    Logic app run status and count

    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.

    Status summary for your logic app runs

  3. 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:

    View logic app runs and status

    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.

    View tracked properties for a logic app

  4. 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:

      Example column filters

    • 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.

      Change the time window

  5. 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:

    View actions for a logic app run

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.:

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:

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.

Send data to Azure storage account or event hub

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 einen x-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 einen trackedProperties-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 den correlation-Eigenschaften der Ereignisse ist aber eine aktionsübergreifende Korrelation innerhalb einer Ausführung möglich. Fügen Sie den Abschnitt trackedProperties 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>"
      }
   }
}

Nächste Schritte