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.
Dieses Tutorial 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.
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
Ein Azure-Konto und ein Azure-Abonnement. Wenn Sie nicht über ein Azure-Abonnement verfügen, können Sie sich für ein kostenloses Azure-Konto registrieren.
Ein E-Mail-Konto bei einem mit Azure Logic Apps verwendbaren E-Mail-Dienst wie Office 365 Outlook, Outlook.com oder Gmail zum Senden von Benachrichtigungen. Informationen zu Connectors für andere Anbieter finden Sie in dieser Liste.
Dieses Tutorial verwendet ein Office 365 Outlook-Konto. Bei Verwendung eines anderen E-Mail-Kontos bleiben die allgemeinen Schritte zwar gleich, die Benutzeroberfläche sieht aber unter Umständen etwas anders aus.
Wichtig
Wenn Sie den Gmail-Connector verwenden möchten, können nur G-Suite-Geschäftskonten diesen Connector ohne Einschränkung in Logik-Apps verwenden. Wenn Sie über ein Gmail-Consumerkonto verfügen, können Sie diesen Connector nur mit bestimmten von Google genehmigten Diensten verwenden, oder Sie können eine Google-Client-App erstellen, die für die Authentifizierung mit Ihrem Gmail-Connector verwendet werden soll. Weitere Informationen finden Sie unter Datensicherheit und Datenschutzrichtlinien für Google-Connectors in Azure Logic Apps.
Ein virtueller Computer, der als einziger Computer in einer eigenen Azure-Ressourcengruppe enthalten ist. Erstellen Sie eine VM mithilfe des Tutorials zum Erstellen eines virtuellen Computers, wenn Sie dies nicht bereits getan haben. Zur Veröffentlichung von Ereignissen auf dem virtuellen Computer müssen Sie keine weiteren Aktionen durchführen.
Wenn Sie über eine Firewall verfügen, die den Datenverkehr auf bestimmte IP-Adressen einschränkt, müssen Sie Ihre Firewall so einrichten, dass der Zugriff auf Azure Logic Apps über die Firewall möglich ist. Sie müssen den Zugriff auf die eingehenden und ausgehenden IP-Adressen zulassen, die von Azure Logic Apps in der Azure-Region verwendet werden, in der Sie Ihre Logik-App erstellen.
In diesem Beispiel werden verwaltete Connectors verwendet, für die Ihre Firewall so eingerichtet werden muss, dass der Zugriff für alleausgehenden IP-Adressen des verwalteten Connectors in der Azure-Region für Ihre Logik-App-Ressource zugelassen ist.
Erstellen einer Logik-App-Ressource
Melden Sie sich mit Ihrem Azure-Konto beim Azure-Portal an.
Wählen Sie auf der Azure-Startseite Ressource erstellen>Integration>Logik-App aus.
Unter Logik-App erstellen Informationen zu Ihrer Logik-App-Ressource angeben:
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. Um im Designer Ihrem Workflow Azure Event Grid-Vorgänge hinzuzufügen, stellen Sie im Bereich „Vorgangsauswahl“ sicher, dass Sie die Registerkarte Azure auswählen. Weitere Informationen zu Azure Logic Apps mit mehreren Mandanten oder einem einzelnen Mandanten finden Sie unter Einzelmandant im Vergleich zu mehreren Mandanten.
Wählen Sie abschließend Überprüfen + erstellen aus. Im nächsten Bereich die angegebenen Informationen bestätigen und Erstellen auswählen.
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.
Scrollen Sie über das Videofenster und den Abschnitt für häufig verwendete Auslöser vorbei.
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.
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.
Geben Sie im Designer in das Suchfeld
event grid
ein. Wählen Sie in der Triggerliste den Trigger Bei Eintritt eines Ressourcenereignisses aus.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 Microsoft Entra-Mandant für Ihr Azure-Abonnement angezeigt wird, dass der richtige Mandant angegeben ist. Beispiel:
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 Microsoft Entra, das mit Ihrem Azure-Abonnement verknüpft ist, z. B. Benutzername@emailoutlook.onmicrosoft.
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.:
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 GridWä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.
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.
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.
Wählen Sie im Workflow-Designer unter dem Azure Event Grid-Trigger die Option Neuer Schritt aus.
Geben Sie unter Aktion auswählen im Suchfeld
condition
als Filter ein. Wählen Sie in der Liste „Aktionen“ die Aktion Bedingung aus.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.
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.Erstellen Sie eine Bedingung, die das
body
-Ereignis auf eindata
-Objekt überprüft, bei dem die EigenschaftoperationName
dem VorgangMicrosoft.Compute/virtualMachines/write
entspricht. Weitere Informationen finden Sie unter Azure Event Grid-Ereignisschema.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.
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:
Behalten Sie im mittleren Feld den Operator gleich bei.
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:
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:
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.
Wählen Sie im Feld Bei TRUE der Bedingung die Option Aktion hinzufügen aus.
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.
Wenn noch keine Verbindung für Ihren E-Mail-Anbieter besteht, melden Sie sich nach Aufforderung zur Authentifizierung bei Ihrem E-Mail-Konto an.
Benennen Sie die Aktion „E-Mail senden“ in diesen Titel um:
Send email when virtual machine updated
.Geben Sie die Informationen zur E-Mail gemäß der folgenden Tabelle an:
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:
BetreffGeben 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:
ThemaEvent type:
EreignistypEvent ID:
IDTime:
EreigniszeitGeben 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:
Anschließend sieht Ihr Logik-App-Workflow in etwa wie im folgenden Beispiel aus:
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
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:
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.
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.
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.
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: