Tutorial: Überwachen von Änderungen an virtuellen Computern mit Azure Event Grid und Azure Logic Apps

Gilt für: Azure Logic Apps (Verbrauch)

Sie können bestimmte Ereignisse überwachen und beantworten, die in Azure-Ressourcen oder externen Ressourcen erfolgen, indem Sie Azure Event Grid und Azure Logic Apps verwenden. Sie können einen automatisierten Logik-App-Workflow für den Verbrauch mit minimalem Code mit Azure Logic Apps erstellen. Sie können festlegen, dass diese Ressourcen Ereignisse in einem Azure Event Grid veröffentlichen. Azure Event Grid überträgt diese Ereignisse wiederum mithilfe von Push an Abonnenten, die als Endpunkte Warteschlangen, Webhooks oder Event Hubs aufweisen. Als Abonnent wartet Ihr Workflow, bis diese Ereignisse in Azure Event Grid eintreffen, bevor die Schritte zum Verarbeiten der Ereignisse ausgeführt werden.

Im Folgenden werden einige Beispiele für Ereignisse aufgeführt, die Herausgeber mit Azure Event Grid an Abonnenten senden können:

  • Eine Ressource wird erstellt, gelesen, aktualisiert oder gelöscht. Beispielsweise können Sie Änderungen überwachen, bei denen möglicherweise Gebühren für Ihr Azure-Abonnement anfallen und die sich auf Ihre Abrechnung auswirken könnten.

  • Eine Person wird zu einem Azure-Abonnement hinzugefügt oder aus dieser entfernt.

  • Ihre App führt eine bestimmte Aktion durch.

  • Eine neue Meldung wird in einer Warteschlange angezeigt.

Diese Anleitung erstellt eine Verbrauchslogik-App-Ressource, die in mehrinstanzenfähigen Azure Logic Apps ausgeführt wird und auf dem Verbrauchspreismodell basiert. Mithilfe dieser Logik-App-Ressource erstellen Sie einen Workflow, der Änderungen an einem virtuellen Computer überwacht und E-Mails zu diesen Änderungen sendet. Wenn Sie einen Workflow mit einem Ereignisabonnement für eine Azure-Ressource erstellen, werden Ereignisse aus dieser Ressource über Azure Event Grid an den Workflow weitergeleitet.

Screenshot showing the workflow designer with a workflow that monitors a virtual machine using Azure Event Grid.

In diesem Tutorial lernen Sie Folgendes:

  • Erstellen Sie einer Logik-App-Ressource und eines Workflows zur Überwachung von Ereignissen über Azure Event Grid.
  • Fügen Sie eine Bedingung zur Prüfung auf Änderungen an einem virtuellen Computer hinzu.
  • Senden Sie bei Änderungen an Ihrem virtuellen Computer E-Mails.

Voraussetzungen

Erstellen einer Logik-App-Ressource

  1. Melden Sie sich mit Ihrem Azure-Konto beim Azure-Portal an.

  2. Wählen Sie auf der Azure-Startseite Ressource erstellen>Integration>Logik-App aus.

    Screenshot of Azure portal, showing button to create a logic app resource.

  3. Unter Logik-App erstellen Informationen zu Ihrer Logik-App-Ressource angeben:

    Screenshot of logic apps creation menu, showing details like name, subscription, resource group, and location.

    Eigenschaft Erforderlich Wert BESCHREIBUNG
    Abonnement Ja <Name des Azure-Abonnements> Wählen Sie für alle Dienste in diesem Tutorial dasselbe Azure-Abonnement aus.
    Ressourcengruppe Ja <Azure-resource-group> Der Name der Azure-Ressourcengruppe für Ihre Logik-App, den Sie für alle Dienste in diesem Tutorial auswählen können.
    Name der Logik-App Ja <logic-app-name> Geben Sie einen eindeutigen Namen für Ihre Logik-App an.
    Veröffentlichen Ja Workflow Wählen Sie das Bereitstellungsziel für Ihre Logik-App aus. Stellen Sie für diese Anleitung sicher, dass Sie Arbeitsablauf auswählen, der in Azure bereitgestellt wird.
    Region Ja <Azure-Region> Wählen Sie für alle Dienste in diesem Tutorial die gleiche Azure-Region.
    Plantyp Ja Nutzung Der Ressourcentyp für Ihre Logik-App. Stellen Sie für diese Anleitung sicher, dass Sie Verbrauch auswählen.

    Hinweis

    Wenn Sie die Azure Event Grid-Vorgänge später stattdessen mit einer Standard-Logik-App-Ressource verwenden möchten, bitte sicherstellen, dass Sie einen zustandsbehafteten Arbeitsablauf und keinen zustandslosen Arbeitsablauf erstellen. Dieses Tutorial gilt nur für verbrauchsbasierte Logik-Apps, die einer anderen Benutzeroberfläche folgen. Stellen Sie zum Hinzufügen der Azure Event Grid-Vorgänge zu Ihrem Arbeitsablauf im Designer sicher, dass Sie im Vorgangsauswahlbereich die Registerkarte Azure auswählen. Weitere Informationen zu Multi-Tenant versus Single-Tenant Azure Logic Apps finden Sie unter Umgebungen mit einem Mandanten und mehreren Mandanten bzw. Integrationsdienstumgebung.

  4. Wählen Sie abschließend Überprüfen + erstellen aus. Im nächsten Bereich die angegebenen Informationen bestätigen und Erstellen auswählen.

  5. Nachdem bereitstellen Ihrer Logik-App von Azure, Zur Ressource wechseln auswählen.

    Der Arbeitsablauf-Designer zeigt eine Seite mit einem Einführungsvideo und häufig verwendeten Auslösern.

  6. Scrollen Sie über das Videofenster und den Abschnitt für häufig verwendete Auslöser vorbei.

  7. Klicken Sie unter Vorlagen auf die Option Leere Logik-App.

    Hinweis

    Der Workflowvorlagenkatalog ist nur für verbrauchsbasierte Logik-Apps verfügbar, nicht für Standardlogik-Apps.

    Screenshot showing Azure Logic Apps templates with selected

    Im Workflow-Designer werden jetzt die Trigger angezeigt, die Sie zum Starten Ihrer Logik-App verwenden können. Jeder Workflow muss mit einem Trigger beginnen, der ausgelöst wird, wenn ein bestimmtes Ereignis eintritt oder eine bestimmte Bedingung erfüllt wird. Bei jeder Auslösung des Triggers erstellt Azure Logic Apps eine Workflowinstanz, die Ihre Logik-App ausführt.

Fügen Sie einen Azure Event Grid-Trigger hinzu.

Fügen Sie nun den Azure Event Grid-Trigger hinzu, den Sie zum Überwachen der Ressourcengruppe für Ihren virtuellen Computer verwenden.

  1. Geben Sie im Designer in das Suchfeld event grid ein. Wählen Sie in der Triggerliste den Trigger Bei Eintritt eines Ressourcenereignisses aus.

    Screenshot that shows the workflow designer with the selected Azure Event Grid trigger.

  2. Wenn Sie aufgefordert werden, melden Sie sich mit den Anmeldeinformationen Ihres Azure-Kontos bei Azure Event Grid an. Überprüfen Sie in der Liste Mandant, in der der zugeordnete Azure Active Directory-Mandant für Ihr Azure-Abonnement angezeigt wird, dass der richtige Mandant angegeben ist. Beispiel:

    Screenshot that shows the workflow designer with the Azure sign-in prompt to connect to Azure Event Grid.

    Hinweis

    Wenn Sie mit einem persönlichen Microsoft-Konto wie @outlook.com oder @hotmail.com angemeldet sind, wird der Azure Event Grid-Trigger möglicherweise nicht ordnungsgemäß angezeigt. Wählen Sie als Problemumgehung Mit Dienstprinzipal verbinden oder authentifizieren Sie sich als Mitglied des Azure Active Directory, das mit Ihrem Azure-Abonnement verknüpft ist, z. B. Benutzername@emailoutlook.onmicrosoft.

  3. Abonnieren Sie für Ihre Logik-App jetzt die Ereignisse des Herausgebers. Geben Sie die Details zu Ihrem Ereignisabonnement wie in der folgenden Tabelle beschrieben an, z. B.:

    Screenshot that shows the workflow designer with the trigger details editor open.

    Eigenschaft Erforderlich Wert BESCHREIBUNG
    Abonnement Ja <event-publisher-Azure-subscription-name> Wählen Sie den Namen für das Azure-Abonnement aus, das dem Ereignisherausgeber zugeordnet ist. Wählen Sie für dieses Tutorial den Namen des Azure-Abonnements für Ihren virtuellen Computer aus.
    Ressourcentyp Ja <event-publisher-Azure-resource-type> Wählen Sie den Azure-Ressourcentyp für den Ereignisherausgeber aus. Weitere Informationen zu Azure-Ressourcentypen finden Sie unter Azure-Ressourcenanbieter und -typen. Wählen Sie für dieses Tutorial den Wert Microsoft.Resources.ResourceGroups aus, um Azure-Ressourcengruppen zu überwachen.
    Ressourcenname Ja <event-publisher-Azure-resource-name> Wählen Sie den Azure-Ressourcennamen für den Ereignisherausgeber aus. Diese Liste variiert, basierend auf dem von Ihnen ausgewählten Ressourcentyp. Wählen Sie für dieses Tutorial den Namen der Azure-Ressourcengruppe aus, die Ihren virtuellen Computer enthält.
    Ereignistypelement Nein <event-types> Wählen Sie mindestens einen spezifischen Ereignistyp aus, um ihn zu filtern und an Azure Event Grid zu senden. Beispielsweise können Sie optional diese Ereignistypen hinzufügen, um zu erkennen, wenn Ressourcen geändert oder gelöscht werden:

    - Microsoft.Resources.ResourceActionSuccess
    - Microsoft.Resources.ResourceDeleteSuccess
    - Microsoft.Resources.ResourceWriteSuccess

    Weitere Informationen finden Sie in den folgenden Themen:

    - Azure Event Grid-Ereignisschema für Ressourcengruppen
    - Grundlegendes zur Ereignisfilterung
    - Filtern von Ereignissen für Azure Event Grid

    Wählen Sie zum Hinzufügen von optionalen Eigenschaften die Option Neuen Parameter hinzufügen und dann die gewünschten Eigenschaften aus. Nein {siehe Beschreibungen} * Präfixfilter: Lassen Sie diese Eigenschaft für dieses Tutorial leer. Das Standardverhalten entspricht allen Werten. Allerdings können Sie als Filter eine Präfixzeichenfolge wie einen Pfad und einen Parameter für eine bestimmte Ressource angeben.

    * Suffixfilter: Lassen Sie diese Eigenschaft für dieses Tutorial leer. Das Standardverhalten entspricht allen Werten. Wenn nur bestimmte Dateitypen angezeigt werden sollen, können Sie als Filter jedoch eine Suffixzeichenfolge wie eine Dateinamenerweiterung angeben.

    * Abonnementname: In diesem Tutorial können Sie einen eindeutigen Namen für Ihr Ereignisabonnement angeben.

  4. Speichern Sie Ihren Logik-App-Workflow. Wählen Sie auf der Symbolleiste des Designers Speichern aus. Um die Details einer Aktion in Ihrem Workflow zu reduzieren und auszublenden, wählen Sie die Titelleiste der Aktion aus.

    Screenshot that shows the workflow designer and the

    Wenn Sie Ihren Logik-App-Workflow mit einem Azure Event Grid-Trigger speichern, erstellt Azure automatisch ein Ereignisabonnement für Ihre Logik-App in Ihrer ausgewählten Ressource. Veröffentlicht die Ressource nun ein Ereignis im Azure Event Grid-Dienst, überträgt dieser Dienst das Ereignis mithilfe von Push automatisch an Ihre Logik-App. Dieses Ereignis löst und führt den Logik-App-Workflow aus, den Sie in den folgenden Schritten definieren.

Ihre Logik-App ist nun live geschaltet und lauscht auf Ereignisse in Azure Event Grid, führt allerdings erst Aktionen durch, wenn Sie diese dem Workflow hinzufügen.

Bedingung hinzufügen

Falls Sie möchten, dass Ihr Logik-App-Workflow nur ausgeführt wird, wenn ein bestimmtes Ereignis oder ein Vorgang eintritt, sollten Sie eine Bedingung zur Überprüfung auf den Vorgang Microsoft.Compute/virtualMachines/write hinzufügen. Wenn diese Bedingung erfüllt ist, sendet Ihr Logik-App-Workflow Ihnen per E-Mail Details zum aktualisierten virtuellen Computer.

  1. Wählen Sie im Workflow-Designer unter dem Azure Event Grid-Trigger die Option Neuer Schritt aus.

    Screenshot that shows the workflow designer with

  2. Geben Sie unter Aktion auswählen im Suchfeld condition als Filter ein. Wählen Sie in der Liste „Aktionen“ die Aktion Bedingung aus.

    Screenshot that shows the workflow designer with

    Der Workflow-Designer fügt Ihrem Workflow eine leere Bedingung einschließlich der abhängig davon, ob die Bedingung „true“ oder „false“ ist, zu befolgenden Aktionspfade hinzu.

    Screenshot that shows the workflow designer with an empty condition added to the workflow.

  3. Benennen Sie den Titel der Bedingung in If a virtual machine in your resource group has changed um. Wählen Sie in der Titelleiste der Bedingung die Schaltfläche mit den Auslassungspunkten ( ... ) und anschließend Umbenennen aus.

    Screenshot that shows the workflow designer with the condition editor's context menu and

  4. Erstellen Sie eine Bedingung, die das body-Ereignis auf ein data-Objekt überprüft, bei dem die Eigenschaft operationName dem Vorgang Microsoft.Compute/virtualMachines/write entspricht. Weitere Informationen finden Sie unter Azure Event Grid-Ereignisschema.

    1. Klicken Sie in der ersten Zeile unter Und innerhalb des linken Felds. Wählen Sie in der angezeigten Liste mit dynamischem Inhalt die Option Ausdruck aus.

      Screenshot that shows the workflow designer with the condition action and dynamic content list open with

    2. Geben Sie im Ausdrucks-Editor den folgenden Ausdruck ein, mit dem der Vorgangsname für den Trigger zurückgegeben wird, und wählen Sie OK aus:

      triggerBody()?['data']['operationName']

      Beispiel:

      Screenshot showing workflow designer and condition editor with expression to extract the operation name.

    3. Behalten Sie im mittleren Feld den Operator gleich bei.

    4. Geben Sie im rechten Feld den Vorgang ein, den Sie überwachen möchten. In diesem Beispiel ist dies der folgende Wert:

      Microsoft.Compute/virtualMachines/write

    Ihre fertig gestellte Bedingung sieht nun wie im folgenden Beispiel aus:

    Screenshot that shows the workflow designer with a condition that compares the operation.

    Wenn Sie von der Entwurfsansicht zur Programmieransicht und wieder zurück in die Entwurfsansicht wechseln, wird der Ausdruck, den Sie in der Bedingung angegeben haben, in das Token data.operationName aufgelöst:

    Screenshot that shows the workflow designer with a condition that has resolved tokens.

  5. Speichern Sie Ihre Logik-App.

Senden von E-Mail-Benachrichtigungen

Fügen Sie nun eine Aktion hinzu, damit Sie eine E-Mail erhalten, wenn die angegebene Bedingung erfüllt ist.

  1. Wählen Sie im Feld Bei TRUE der Bedingung die Option Aktion hinzufügen aus.

    Screenshot that shows the workflow designer with the condition's

  2. Geben Sie unter Aktion auswählen im Suchfeld send an email als Filter ein. Suchen Sie abhängig von Ihrem E-Mail-Anbieter nach dem entsprechenden Connector, und wählen Sie diesen aus. Wählen Sie anschließend die Aktion „E-Mail senden“ für Ihren Connector aus. Beispiel:

    • Wählen Sie für ein Geschäfts-, Schul- oder Unikonto in Azure den Office 365 Outlook-Connector aus.

    • Wählen Sie für persönliche Microsoft-Konten den Outlook.com-Connector aus.

    • Wählen Sie für Gmail-Konten den Gmail-Connector aus.

    Dieses Tutorial fährt mit dem Office 365 Outlook-Connector fort. Wenn Sie einen anderen Anbieter verwenden, werden dieselben Schritte durchgeführt, allerdings kann das Erscheinungsbild der Benutzeroberfläche eventuell etwas abweichen.

    Screenshot that shows the workflow designer with the search box open to find the

  3. Wenn noch keine Verbindung für Ihren E-Mail-Anbieter besteht, melden Sie sich nach Aufforderung zur Authentifizierung bei Ihrem E-Mail-Konto an.

  4. Benennen Sie die Aktion „E-Mail senden“ in diesen Titel um: Send email when virtual machine updated.

  5. Geben Sie die Informationen zur E-Mail gemäß der folgenden Tabelle an:

    Screenshot that shows the workflow designer with dynamic content being addded to email subject line for a true condition.

    Tipp

    Klicken Sie zum Auswählen der Ausgabe aus vorherigen Schritten in Ihrem Workflow in ein Bearbeitungsfeld, um die Liste mit dynamischen Inhalten anzuzeigen, oder wählen Sie die Option Dynamischen Inhalt hinzufügen aus. Wählen Sie für jeden Abschnitt in der Liste Mehr anzeigen aus, um weitere Ergebnisse anzuzeigen. Um die Liste mit dynamischen Inhalten zu schließen, wählen Sie erneut Dynamischen Inhalt hinzufügen aus.

    Eigenschaft Erforderlich Wert BESCHREIBUNG
    An Ja <Empfänger@Domäne> Geben Sie die E-Mail-Adresse des Empfängers ein. Zu Testzwecken können Sie hier Ihre eigene E-Mail-Adresse angeben.
    Subject Ja Resource updated:Betreff Geben Sie den Inhalt des Betreffs der E-Mail ein. Geben Sie für dieses Tutorial den angegebenen Text ein, und wählen Sie das Feld Betreff des Ereignisses aus. Hier enthält Ihr E-Mail-Betreff den Namen für die aktualisierte Ressource (virtueller Computer).
    Text Ja Resource:Thema

    Event type:Ereignistyp

    Event ID:ID

    Time:Ereigniszeit

    Geben Sie den Inhalt des Texts der E-Mail ein. Geben Sie für dieses Tutorial den angegebenen Text ein, und wählen Sie die Felder Thema, Ereignistyp, ID und Ereigniszeit des Ereignisses, damit Ihre E-Mail die Ressource enthält, die das Ereignis ausgelöst hat, den Ereignistyp, den Ereigniszeitstempel sowie die Ereignis-ID für das Update. Für dieses Tutorial ist die Ressource die im Trigger ausgewählte Azure-Ressourcengruppe.

    Um Ihrem Inhalt leere Zeilen hinzuzufügen, drücken Sie UMSCHALT + EINGABETASTE.

    Hinweis

    Wenn Sie ein Feld auswählen, das ein Array darstellt, fügt der Designer automatisch eine ForEach-Schleife für die Aktion hinzu, die auf das Array verweist. Auf diese Weise führt Ihr Logik-App-Workflow diese Aktion für jedes Arrayelement durch.

    Ihre E-Mail-Aktion könnte nun folgendem Beispiel entsprechen:

    Screenshot that shows the workflow designer with selected outputs to send in email when VM is updated.

    Anschließend sieht Ihr Logik-App-Workflow in etwa wie im folgenden Beispiel aus:

    Screenshot showing designer with complete workflow and details for trigger and actions.

  6. Speichern Sie Ihre Logik-App. Um die Details der einzelnen Aktionen in Ihrer Logik-App zu reduzieren und auszublenden, wählen Sie die Titelleiste der Aktion aus.

    Die Logik-App ist nun live geschaltet, wartet jedoch vor der Durchführung von Aktionen auf Änderungen an Ihrem virtuellen Computer. Um nun Ihren Workflow zu testen, fahren Sie mit dem nächsten Abschnitt fort.

Testen Ihres Logik-App-Workflows

  1. Um zu überprüfen, ob Ihr Workflow die angegebenen Ereignisse abruft, aktualisieren Sie Ihren virtuellen Computer.

    Sie können beispielsweise die Größe des virtuellen Computers ändern.

    Nach nur wenigen Minuten sollten Sie eine E-Mail erhalten. Beispiel:

    Screenshot of example Outlook email, showing details about VM update.

  2. Um den Verlauf der Ausführungen und Trigger für Ihre Logik-App zu überprüfen, wählen Sie im Menü Ihrer Logik-App Übersicht aus. Um weitere Details zu einer Ausführung anzuzeigen, wählen Sie die Zeile dieser Ausführung aus.

    Screenshot of logic app's overview page, showing a successful run selected.

  3. Um die Eingaben und Ausgaben für die einzelnen Schritte anzuzeigen, erweitern Sie den Schritt, den Sie überprüfen möchten. Diese Informationen helfen Ihnen bei der Diagnose und beim Debuggen von Problemen in Ihrer Logik-App.

    Screenshot of logic app's runs history, showing details for each run.

Herzlichen Glückwunsch! Sie haben einen Logik-App-Workflow erstellt und ausgeführt, der Ressourcenereignisse durch Azure Event Grid überwacht und Ihnen eine E-Mail sendet, wenn derartige Ereignisse auftreten sollten. Außerdem haben Sie erfahren, wie einfach Sie Workflows zur Automatisierung von Prozessen und Integration von Systemen sowie Clouddiensten erstellen können.

Sie können andere Konfigurationsänderungen mit Ereignisrastern und Logik-Apps überwachen wie etwas Folgende:

  • Ein virtueller Computer erhält rollenbasierte Zugriffssteuerungsrechte in Azure (Role-Based Access Control, Azure RBAC).
  • Es werden Änderungen an einer Netzwerksicherheitsgruppe (Network Security Group, NSG) in einer Netzwerkschnittstelle (Network Interface, NIC) vorgenommen.
  • Datenträger für einen virtuellen Computer werden hinzugefügt oder entfernt.
  • Der NIC eines virtuellen Computers wird eine öffentliche IP-Adresse zugewiesen.

Bereinigen von Ressourcen

In diesem Tutorial werden Ressourcen verwendet und Aktionen durchgeführt, für die Gebühren in Ihrem Azure-Abonnement anfallen. Wenn Sie mit der Durchführung des Tutorials und dem Testen fertig sind, deaktivieren oder löschen Sie unbedingt alle Ressourcen, für deren Gebühren Sie nicht aufkommen möchten.

  • Deaktivieren Sie Ihren Workflow, um die Ausführung zu beenden, ohne Ihre Arbeit zu löschen. Wählen Sie in Ihrem Logik-App-Menü Übersicht aus. Wählen Sie in der Symbolleiste die Option Deaktivieren aus.

    Screenshot of logic app's overview, showing Disable button selected to disable the logic app.

    Tipp

    Falls das Logik-App-Menü nicht angezeigt wird, können Sie zum Azure-Dashboard zurückkehren und Ihre Logik-App erneut öffnen.

  • Wählen Sie im Menü der Logik-App Übersicht aus, um Ihre Logik-App endgültig zu löschen. Wählen Sie in der Symbolleiste die Option Löschen aus. Bestätigen Sie, dass Sie Ihre Logik-App löschen möchten, und wählen Sie Löschen aus.

Nächste Schritte

In den folgenden Beispielen erfahren Sie, wie Sie Ereignisse in Azure Event Grid mithilfe verschiedener Programmiersprachen veröffentlichen und nutzen: