Samouczek: Monitorowanie zmian maszyn wirtualnych przy użyciu usług Azure Event Grid i Logic Apps

Aby monitorować określone zdarzenia, które mają miejsce w zasobach platformy Azure lub zasobach innych firm, można automatyzować i uruchamiać zadania jako przepływ pracy, tworząc aplikację logiki, która używa minimalnej ilości kodu. Te zasoby mogą publikować zdarzenia w usłudze Azure Event Grid. Z kolei usługa Event Grid wypycha te zdarzenia do subskrybentów, którzy mają kolejki, elementy webhook lub centra zdarzeń jako punkty końcowe. Jako subskrybent aplikacja logiki może czekać na te zdarzenia z usługi Event Grid przed uruchomieniem zautomatyzowanych przepływów pracy w celu wykonywania zadań.

Na przykład poniżej przedstawiono niektóre zdarzenia, które wydawcy mogą wysyłać do subskrybentów za pośrednictwem usługi Azure Event Grid:

  • Utworzenie, odczyt, aktualizacja lub usunięcie zasobu. Można na przykład monitorować zmiany, które mogą spowodować naliczenie opłat w ramach subskrypcji platformy Azure i wpłynąć na rachunek.

  • Dodanie lub usunięcie osoby z subskrypcji platformy Azure.

  • Aplikacja wykonuje określoną akcję.

  • Pojawienie się nowego komunikatu w kolejce.

Ten samouczek tworzy aplikację logiki, która monitoruje zmiany na maszynie wirtualnej i wysyła wiadomości e-mail dotyczące tych zmian. Podczas tworzenia aplikacji logiki z subskrypcją zdarzeń dla zasobu platformy Azure zdarzenia przepływają z tego zasobu za pośrednictwem usługi Event Grid do aplikacji logiki. Samouczek przeprowadzi Cię przez tworzenie tej aplikacji logiki:

Zrzut ekranu przedstawiający Logic Apps z przepływem pracy do monitorowania maszyny wirtualnej za pomocą Event Grid.

Ten samouczek zawiera informacje na temat wykonywania następujących czynności:

  • Tworzenie aplikacji logiki, która monitoruje zdarzenia z usługi Event Grid.
  • Dodawanie warunku, który konkretnie wyszukuje zmiany maszyny wirtualnej.
  • Wysyłanie wiadomości e-mail, gdy maszyna wirtualna ulegnie zmianie.

Wymagania wstępne

  • Subskrypcja platformy Azure. Jeśli nie masz subskrypcji platformy Azure, zarejestruj się w celu założenia bezpłatnego konta platformy Azure.

  • Konto e-mail od dostawcy poczty e-mail obsługiwane Logic Apps do wysyłania powiadomień, takich jak office 365 Outlook, Outlook.com lub Gmail. W przypadku innych dostawców przejrzyj tę listę łączników.

    W tym samouczku jest używane konto usługi Office 365 Outlook. Jeśli korzystasz z innego konta e-mail, ogólne kroki pozostają takie same, ale Twój interfejs użytkownika może wyglądać trochę inaczej.

    Ważne

    Jeśli chcesz używać łącznika usługi Gmail, tylko konta firmowe usługi G Suite mogą używać tego łącznika bez ograniczeń w aplikacjach logiki. Jeśli masz konto użytkownika usługi Gmail, możesz używać tego łącznika tylko z określonymi usługami zatwierdzonymi przez Google lub utworzyć aplikację klieniencową Google do uwierzytelniania za pomocą łącznika usługi Gmail. Aby uzyskać więcej informacji, zobacz Zasady zabezpieczeń danych i ochrony prywatności dla łączników Googlew Azure Logic Apps .

  • Maszyna wirtualna, która jest sama we własnej grupie zasobów platformy Azure. Jeśli jeszcze tego nie zrobiono, utwórz maszynę wirtualną za pomocą samouczka Tworzenie maszyny wirtualnej. Aby maszyna wirtualna publikowała zdarzenia, nie trzeba nic robić.

Tworzenie pustej aplikacji logiki

  1. Zaloguj się do witryny Azure Portal przy użyciu poświadczeń konta Azure.

  2. Z głównego menu platformy Azure wybierz pozycję Utwórz zasób > Aplikacja logiki > integracji.

    Zrzut ekranu Azure Portal przedstawiający przycisk tworzenia zasobu aplikacji logiki.

  3. W obszarze Aplikacja logiki podaj informacje o zasobie aplikacji logiki. Gdy wszystko będzie gotowe, wybierz przycisk Utwórz.

    Zrzut ekranu przedstawiający menu tworzenia aplikacji logiki, w którym wyświetlane są szczegółowe informacje, takie jak nazwa, subskrypcja, grupa zasobów i lokalizacja.

    Właściwość Wymagany Wartość Opis
    Nazwa Tak <logic-app-name> Podaj unikatową nazwę aplikacji logiki.
    Subskrypcja Tak <Nazwa subskrypcji platformy Azure> Wybierz tę samą subskrypcję platformy Azure dla wszystkich usług w tym samouczku.
    Grupa zasobów Tak <Grupa zasobów platformy Azure> Nazwa grupy zasobów platformy Azure dla aplikacji logiki, którą można wybrać dla wszystkich usług w tym samouczku.
    Lokalizacja Tak <Region świadczenia usługi Azure> Wybierz ten sam region dla wszystkich usług w tym samouczku.
  4. Po wdrożeniu aplikacji logiki na platformie Azure Logic Apps Designer wyświetla stronę z wprowadzającym wideo i często używanymi wyzwalaczami. Przewiń poza wideo i wyzwalacze.

  5. W obszarze Szablony wybierz pozycję Pusta aplikacja logiki.

    Zrzut ekranu Logic Apps szablonów przedstawiający wybór w celu utworzenia pustej aplikacji logiki.

    W Logic Apps logiki są teraz dostępne wyzwalacze, których można użyć do uruchomienia aplikacji logiki. Każda aplikacja logiki musi rozpoczynać się od wyzwalacza, który jest aktywowany w momencie wystąpienia konkretnego zdarzenia lub spełnienia określonego warunku. Przy każdym wyzwoleniu wyzwalacza Azure Logic Apps wystąpienie przepływu pracy, które uruchamia aplikację logiki.

Dodawanie Event Grid wyzwalacza

Teraz dodaj Event Grid, który umożliwia monitorowanie grupy zasobów dla maszyny wirtualnej.

  1. W projektancie w polu wyszukiwania wprowadź event grid wartość jako filtr. Z listy wyzwalaczy wybierz wyzwalacz Gdy wystąpi zdarzenie zasobu.

    Zrzut ekranu Logic Apps Projektanta przedstawiający wybór Event Grid wyzwalacza dla zdarzenia zasobu.

  2. Po wyświetleniu monitu zaloguj się do Azure Event Grid przy użyciu poświadczeń konta platformy Azure. Na liście Dzierżawa, która zawiera Azure Active Directory dzierżawę skojarzoną z subskrypcją platformy Azure, sprawdź, czy jest wyświetlana prawidłowa dzierżawa, na przykład:

    Zrzut ekranu Logic Apps Designer przedstawiający monit logowania platformy Azure w celu nawiązania połączenia z Event Grid.

    Uwaga

    Jeśli logujesz się za pomocą osobistego konta Microsoft, takiego jak @outlook.com lub @hotmail.com, wyzwalacz usługi Event Grid może nie być wyświetlany poprawnie. Aby obejść ten problem, wybierz pozycję Połącz za pomocą jednostki usługi lub uwierzytelnij się jako członek Azure Active Directory skojarzonej z subskrypcją platformy Azure, na przykład user-name @emailoutlook.onmicrosoft.com .

  3. Teraz zasubskrybuj zdarzenia od wydawcy w aplikacji logiki. Podaj szczegółowe informacje o subskrypcji zdarzeń zgodnie z opisem w poniższej tabeli, na przykład:

    Zrzut ekranu Logic Apps Designer przedstawiający edytor szczegółów wyzwalacza dla wystąpienia zdarzenia zasobu.

    Właściwość Wymagany Wartość Opis
    Subskrypcja Tak <event-publisher-Azure-subscription-name> Wybierz nazwę subskrypcji platformy Azure skojarzonej z wydawcą zdarzeń. W tym samouczku wybierz nazwę subskrypcji platformy Azure dla maszyny wirtualnej.
    Typ zasobu Tak <event-publisher-Azure-resource-type> Wybierz typ zasobu platformy Azure dla wydawcy zdarzeń. Aby uzyskać więcej informacji na temat typów zasobów platformy Azure, zobacz Azure resource providers and types (Dostawcy i typyzasobów platformy Azure). W tym samouczku wybierz Microsoft.Resources.ResourceGroups wartość, aby monitorować grupy zasobów platformy Azure.
    Nazwa zasobu Tak <event-publisher-Azure-resource-name> Wybierz nazwę zasobu platformy Azure dla wydawcy zdarzeń. Ta lista różni się w zależności od wybranego typu zasobu. W tym samouczku wybierz nazwę grupy zasobów platformy Azure, która zawiera Twoją maszynę wirtualną.
    Element typu zdarzenia Nie <typy zdarzeń> Wybierz co najmniej jeden określony typ zdarzenia do filtrowania i wysyłania do siatki zdarzeń. Możesz na przykład opcjonalnie dodać te typy zdarzeń, aby wykryć, kiedy zasoby są zmieniane lub usuwane:

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

    Więcej informacji można znaleźć w następujących tematach:

    - Azure Event Grid zdarzeń dla grup zasobów
    - Opis filtrowania zdarzeń
    - Filtrowanie zdarzeń pod Event Grid

    Aby dodać opcjonalne właściwości, wybierz pozycję Dodaj nowy parametr, a następnie wybierz odpowiednie właściwości. Nie {patrz opisy} * Filtr prefiksu: w tym samouczku pozostaw tę właściwość pustą. Zachowanie domyślne dopasowuje wszystkie wartości. Można jednak określić ciąg prefiksu jako filtr, na przykład ścieżkę i parametr dla konkretnego zasobu.

    * Filtr sufiksu: w tym samouczku pozostaw tę właściwość pustą. Zachowanie domyślne dopasowuje wszystkie wartości. Można jednak określić ciąg sufiksu jako filtr, na przykład rozszerzenie nazwy pliku, aby uwzględniać tylko określone typy plików.

    * Nazwa subskrypcji: w tym samouczku możesz podać unikatową nazwę subskrypcji zdarzeń.

  4. Zapisz aplikację logiki. Na pasku narzędzi projektanta wybierz pozycję Zapisz. Aby zwinąć i ukryć szczegóły akcji w aplikacji logiki, wybierz pasek tytułu akcji.

    Zrzut ekranu Logic Apps Projektant z przyciskiem Zapisz, aby zapisać zmiany przepływu pracy.

    Podczas zapisywania aplikacji logiki z wyzwalaczem usługi Event Grid platforma Azure automatycznie tworzy dla tej aplikacji logiki subskrypcję zdarzeń wybranego zasobu. Dlatego gdy zasób publikuje zdarzenie w usłudze Event Grid, usługa ta automatycznie wypycha je do aplikacji logiki. Zdarzenie to wyzwala aplikację logiki, a następnie tworzy i uruchamia wystąpienie przepływu pracy, który zdefiniujesz w następnych krokach.

Aplikacja logiki jest teraz aktywna i nasłuchuje zdarzeń z usługi Event Grid, ale nie robi nic, dopóki nie dodasz akcji do przepływu pracy.

Dodawanie warunku

Jeśli chcesz, aby aplikacja logiki działała tylko w przypadku wystąpienia określonego zdarzenia lub operacji, dodaj warunek, który sprawdza, czy operacja Microsoft.Compute/virtualMachines/write jest sprawdzana. Jeśli ten warunek zostanie spełniony, aplikacja logiki wyśle Ci wiadomość e-mail zawierającą szczegóły zaktualizowanej maszyny wirtualnej.

  1. W Projektancie aplikacji logiki w obszarze wyzwalacza usługi Event Grid wybierz pozycję Nowy krok.

    Zrzut ekranu Logic Apps Projektanta przedstawiający przycisk dodawania nowego kroku do przepływu pracy.

  2. W obszarze Wybierz akcję w polu wyszukiwania wprowadź condition jako filtr. Z listy akcji wybierz akcję Warunek.

    Zrzut ekranu Logic Apps Projektanta przedstawiający przycisk dodawania akcji warunku.

    Projektant aplikacji logiki dodaje pusty warunek do przepływu pracy, w tym ścieżki akcji do wykonania na podstawie tego, czy warunek jest spełniony (wartość true), czy nie (wartość false).

    Zrzut ekranu Logic Apps Projektanta pokazujący pusty warunek dodany do przepływu pracy.

  3. Zmień nazwę tytułu warunku na If a virtual machine in your resource group has changed . Na pasku tytułu warunku wybierz przycisk wielokropka (...), a następnie wybierz pozycję Zmień nazwę.

    Zrzut ekranu Logic Apps Projektanta przedstawiający menu kontekstowe edytora warunków z wybraną opcją Zmień nazwę.

  4. Utwórz warunek, który sprawdza zdarzenie body dla data obiektu, w którym operationName właściwość jest równa Microsoft.Compute/virtualMachines/write operacji. Dowiedz się więcej o schemacie zdarzeń usługi Event Grid.

    1. W pierwszym wierszu w obszarze Oraz kliknij wewnątrz pola po lewej stronie. Na wyświetlonej liście zawartości dynamicznej wybierz pozycję Wyrażenie.

      Zrzut ekranu przedstawiający Logic Apps Projektanta z wybranym edytorem wyrażeń.

    2. W edytorze wyrażeń wprowadź to wyrażenie, które zwraca nazwę operacji z wyzwalacza, a następnie wybierz przycisk OK:

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

      Na przykład:

      Zrzut ekranu Logic Apps, pokazujący edytor warunków z wyrażeniem wyodrębniania nazwy operacji.

    3. W środkowym polu zachowaj operator jest równe.

    4. W polu po prawej stronie wprowadź tę wartość, która jest określoną operacją, którą chcesz monitorować:

      Microsoft.Compute/virtualMachines/write

    Gotowy warunek wygląda teraz podobnie do tego przykładu:

    Zrzut ekranu Logic Apps Projektanta przedstawiający warunek, który porównuje operację.

    Jeśli przełączysz się z widoku projektu na widok kodu i z powrotem do widoku projektu, wyrażenie określone w warunku będzie rozpoznawane jako token data.operationName:

    Zrzut ekranu Logic Apps Projektanta przedstawiający warunek z rozwiązanymi tokenami.

  5. Zapisz aplikację logiki.

Wysyłanie powiadomień w wiadomościach e-mail

Teraz dodaj akcję, aby otrzymywać wiadomości e-mail, gdy określony warunek ma wartość true.

  1. W polu W przypadku wartości true warunku wybierz pozycję Dodaj akcję.

    Zrzut ekranu Logic Apps projektanta warunków z przyciskiem dodawania akcji, gdy warunek ma wartość true.

  2. W obszarze Wybierz akcję w polu wyszukiwania wprowadź send an email jako filtr. W oparciu o Twojego dostawcę poczty e-mail znajdź i wybierz zgodny łącznik. Następnie wybierz akcję „Wyślij wiadomość e-mail” dla Twojego łącznika. Na przykład:

    • Dla konta służbowego platformy Azure wybierz łącznik usługi Office 365 Outlook.

    • Dla osobistych kont Microsoft wybierz łącznik usługi Outlook.com.

    • Dla kont usługi Gmail wybierz łącznik usługi Gmail.

    Ten samouczek jest kontynuowany przy użyciu łącznika usługi Office 365 Outlook. Jeśli używasz innego dostawcy, kroki pozostaną takie same, ale twój interfejs użytkownika może wyglądać nieco inaczej.

    Zrzut ekranu Logic Apps Designer przedstawiający wyszukiwanie akcji Wyślij wiadomość e-mail w łączniku usługi Office 365 Outlook.

  3. Jeśli nie masz jeszcze połączenia z dostawcą poczty e-mail, po wyświetleniu monitu o uwierzytelnienie zaloguj się do swojego konta e-mail.

  4. Zmień nazwę akcji wyślij wiadomość e-mail na ten tytuł: Send email when virtual machine updated

  5. Podaj informacje o wiadomości e-mail określone w poniższej tabeli:

    Zrzut ekranu Logic Apps Projektanta przedstawiający zawartość dynamiczną dodawana do wiersza tematu wiadomości e-mail dla prawdziwego warunku.

    Porada

    Aby wybrać dane wyjściowe z poprzednich kroków przepływu pracy, kliknij wewnątrz pola edycji, aby wyświetlić listę zawartości dynamicznej, lub wybierz pozycję Dodaj zawartość dynamiczną. Aby uzyskać więcej wyników, wybierz pozycję Zobacz więcej dla każdej sekcji na liście. Aby zamknąć listę zawartości dynamicznej, ponownie wybierz pozycję Dodaj zawartość dynamiczną.

    Właściwość Wymagany Wartość Opis
    Do Tak <domena @ odbiorcy> Wprowadź adres e-mail adresata. Do celów testowych możesz użyć własnego adresu e-mail.
    Temat Tak Resource updated:Temat Wprowadź zawartość w polu tematu wiadomości e-mail. W tym samouczku wprowadź określony tekst i wybierz pole Temat zdarzenia. Tutaj temat wiadomości e-mail zawiera nazwę zaktualizowanego zasobu (maszyny wirtualnej).
    Treść Tak Resource: Temat

    Event type: Typ zdarzenia

    Event ID: ID (Identyfikator)

    Time:Czas zdarzenia

    Wprowadź zawartość w polu treści wiadomości e-mail. W tym samouczku wprowadź określony tekst i wybierz pola Temat zdarzenia, Typ zdarzenia, Identyfikator i Czas zdarzenia, tak aby wiadomość e-mail zawierała zasób, który wyzszył zdarzenie, typ zdarzenia, znacznik czasu zdarzenia i identyfikator zdarzenia aktualizacji. W tym samouczku zasób jest grupą zasobów platformy Azure wybraną w wyzwalaczu.

    Aby dodać puste wiersze w zawartości, naciśnij klawisze Shift + Enter.

    Uwaga

    Jeśli wybierzesz pole reprezentujące tablicę, projektant automatycznie dodaje pętlę Dla każdego wokół akcji, która odwołuje się do tablicy. W ten sposób Twoja aplikacja logiki wykonuje tę akcję dla każdego elementu tablicy.

    Teraz Twoja akcja wiadomości e-mail może wyglądać tak jak w tym przykładzie:

    Zrzut ekranu Logic Apps Designer przedstawiający wybrane dane wyjściowe do wysłania w wiadomości e-mail po zaktualizowania maszyny wirtualnej.

    Gotowa aplikacja logiki może wyglądać jak w tym przykładzie:

    Zrzut ekranu Logic Apps Projektanta przedstawiający utworzoną aplikację logiki ze szczegółami wyzwalacza i akcji.

  6. Zapisz aplikację logiki. Aby zwinąć i ukryć szczegóły każdej akcji w aplikacji logiki, wybierz pasek tytułu akcji.

    Aplikacja logiki jest teraz aktywna, ale czeka na zmiany maszyny wirtualnej, zanim wykona jakiekolwiek akcje. Aby teraz przetestować Twoją aplikację logiki, przejdź do następnej sekcji.

Testowanie przepływu pracy aplikacji logiki

  1. Aby sprawdzić, czy aplikacja logiki otrzymuje określone zdarzenia, zaktualizuj maszynę wirtualną.

    Możesz na przykład zmienić rozmiar maszyny wirtualnej w witrynie Azure Portal lub zmienić rozmiar maszyny wirtualnej za pomocą programu Azure PowerShell.

    Po kilku chwilach powinna nadejść wiadomość e-mail. Na przykład:

    Zrzut ekranu przedstawiający przykładową wiadomość e-mail programu Outlook ze szczegółami aktualizacji maszyny wirtualnej.

  2. Aby przejrzeć historię przebiegów i wyzwalaczy dla aplikacji logiki, w menu aplikacji logiki wybierz pozycję Przegląd. Aby wyświetlić więcej szczegółów na temat uruchomienia, wybierz wiersz dla tego uruchomienia.

    Zrzut ekranu przedstawiający stronę przeglądu aplikacji logiki z wybranym pomyślnym uruchomieniem.

  3. Aby wyświetlić dane wejściowe i wyjściowe dla każdego kroku, rozwiń krok, który chcesz przejrzeć. Te informacje ułatwiają diagnozowanie i debugowanie problemów w aplikacji logiki.

    Zrzut ekranu przedstawiający historię przebiegów aplikacji logiki ze szczegółami każdego uruchomienia.

Gratulujemy utworzenia i uruchomienia aplikacji logiki, która monitoruje zdarzenia zasobów za pomocą usługi Event Grid i wysyła Ci wiadomości e-mail w przypadku wystąpienia tych zdarzeń. Wiesz już, jak łatwe jest tworzenie przepływów pracy automatyzujących procesy oraz integrowanie systemów i usług w chmurze.

Za pomocą usług Event Grid i Logic Apps możesz także monitorować inne zmiany, na przykład:

  • Maszyna wirtualna otrzymuje prawa kontroli dostępu na podstawie ról (RBAC) platformy Azure.
  • Wprowadzenie zmian w sieciowej grupie zabezpieczeń dla interfejsu sieciowego (karty sieciowej).
  • Dodanie lub usunięcie dysków dla maszyny wirtualnej.
  • Przypisanie publicznego adresu IP do karty sieciowej maszyny wirtualnej.

Czyszczenie zasobów

Ten samouczek używa zasobów i wykonuje akcje, które mogą spowodować naliczenie opłat w ramach Twojej subskrypcji platformy Azure. Gdy ukończysz pracę z samouczkiem i testowanie, upewnij się, że zostały wyłączone lub usunięte wszelkie zasoby, dla których nie chcesz naliczenia opłat.

  • Aby zatrzymać aplikację logiki bez usuwania swojej pracy, wyłącz ją. W menu aplikacji logiki wybierz pozycję Przegląd. Na pasku narzędzi wybierz pozycję Wyłącz.

    Zrzut ekranu przedstawiający przegląd aplikacji logiki z wybranym przyciskiem Wyłącz, aby wyłączyć aplikację logiki.

    Porada

    Jeśli nie widzisz menu aplikacji logiki, spróbuj wrócić do pulpitu nawigacyjnego platformy Azure i ponownie otworzyć aplikację logiki.

  • Aby trwale usunąć aplikację logiki, w menu aplikacji logiki wybierz pozycję Przegląd. Na pasku narzędzi wybierz pozycję Usuń. Potwierdź, że chcesz usunąć aplikację logiki, a następnie wybierz pozycję Usuń.

Następne kroki

Zapoznaj się z poniższymi przykładami, aby dowiedzieć się więcej o publikowaniu zdarzeń i używaniu zdarzeń z Event Grid przy użyciu różnych języków programowania.