Samouczek: monitorowanie zmian maszyn wirtualnych przy użyciu usług Azure Event Grid i Azure Logic Apps
Dotyczy: Azure Logic Apps (Zużycie)
Za pomocą usługi Azure Event Grid i Azure Logic Apps można monitorować i reagować na określone zdarzenia, które występują w zasobach platformy Azure lub zasobach zewnętrznych. Możesz utworzyć zautomatyzowany przepływ pracy aplikacji logiki Zużycie z minimalnym kodem przy użyciu usługi Azure Logic Apps. Te zasoby mogą publikować zdarzenia w usłudze Azure Event Grid. Z kolei usługa Azure Event Grid wypycha te zdarzenia do subskrybentów, którzy mają kolejki, elementy webhook lub centra zdarzeń jako punkty końcowe. Jako subskrybent przepływ pracy czeka na nadejście tych zdarzeń w usłudze Azure Event Grid przed uruchomieniem kroków przetwarzania zdarzeń.
Oto na przykład 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 zasób aplikacji logiki Zużycie, który działa w wielodostępnej usłudze Azure Logic Apps i jest oparty na modelu cen zużycie. Za pomocą tego zasobu aplikacji logiki utworzysz przepływ pracy, który monitoruje zmiany na maszynie wirtualnej i wysyła wiadomości e-mail dotyczące tych zmian. Podczas tworzenia przepływu pracy, który ma subskrypcję zdarzeń do zasobu platformy Azure, zdarzenia przepływają z tego zasobu za pośrednictwem usługi Azure Event Grid do przepływu pracy.
Z tego samouczka dowiesz się, jak wykonywać następujące czynności:
- Utwórz zasób aplikacji logiki i przepływ pracy, który monitoruje zdarzenia z usługi Azure 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
Konto i 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 z usługi poczty e-mail, które współpracuje z usługą Azure Logic Apps na potrzeby 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żyć łącznika Gmail, tylko konta biznesowe usługi G-Suite mogą używać tego łącznika bez ograniczeń w aplikacjach logiki. Jeśli masz konto użytkownika Gmail, możesz użyć tego łącznika tylko z określonymi usługami zatwierdzonymi przez firmę Google lub utworzyć aplikację kliencką Google do użycia do uwierzytelniania za pomocą łącznika Gmail. Aby uzyskać więcej informacji, zobacz Zasady zabezpieczeń i prywatności danych dla łączników Google w usłudze Azure Logic Apps.
Maszyna wirtualna , która jest sama w 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ć.
Jeśli masz zaporę, która ogranicza ruch do określonych adresów IP, musisz skonfigurować zaporę, aby zezwolić na dostęp do usługi Azure Logic Apps w celu komunikowania się przez zaporę. Musisz zezwolić na dostęp zarówno dla przychodzących, jak i wychodzących adresów IP używanych przez usługę Azure Logic Apps w regionie świadczenia usługi Azure, w którym tworzysz aplikację logiki.
W tym przykładzie użyto łączników zarządzanych, które wymagają zapory, aby zezwolić na dostęp do wszystkich wychodzących adresów IP łącznika zarządzanego w regionie świadczenia usługi Azure dla zasobu aplikacji logiki.
Tworzenie zasobu aplikacji logiki
Zaloguj się w witrynie Azure Portal przy użyciu danych konta Azure.
Na stronie głównej platformy Azure wybierz pozycję Utwórz aplikację logiki integracji>zasobów>.
W obszarze Tworzenie aplikacji logiki podaj informacje o zasobie aplikacji logiki:
Właściwości Wymagania Wartość Opis Subskrypcja Tak <Azure-subscription-name> Wybierz tę samą subskrypcję platformy Azure dla wszystkich usług w tym samouczku. Grupa zasobów Tak <Azure-resource-group> Nazwa grupy zasobów platformy Azure dla aplikacji logiki, którą można wybrać dla wszystkich usług w tym samouczku. Nazwa aplikacji logiki Tak <logic-app-name> Podaj unikatową nazwę aplikacji logiki. Publikowanie Tak Przepływ pracy Wybierz miejsce docelowe wdrożenia dla aplikacji logiki. Na potrzeby tego samouczka upewnij się, że wybrano pozycję Przepływ pracy, który jest wdrażany na platformie Azure. Region Tak <Region świadczenia usługi Azure> Wybierz ten sam region dla wszystkich usług w tym samouczku. Typ planu Tak Zużycie Typ zasobu dla aplikacji logiki. Na potrzeby tego samouczka upewnij się, że wybrano pozycję Zużycie. Uwaga
Jeśli później chcesz użyć operacji usługi Azure Event Grid z zasobem standardowej aplikacji logiki, upewnij się, że zamiast tego utworzysz stanowy przepływ pracy, a nie bezstanowy przepływ pracy. Ten samouczek dotyczy tylko aplikacji logiki Zużycie, które są zgodne z innym środowiskiem użytkownika. Aby dodać operacje usługi Azure Event Grid do przepływu pracy w projektancie, w okienku selektora operacji upewnij się, że wybrano kartę Azure . Aby uzyskać więcej informacji na temat wielodostępnych i jednodostępnych usługi Azure Logic Apps, zapoznaj się z artykułem Single-tenant versus multitenant (Pojedyncze dzierżawy i wielodostępne).
Po zakończeniu wybierz pozycję Przejrzyj i utwórz. W następnym okienku potwierdź podane informacje i wybierz pozycję Utwórz.
Po wdrożeniu aplikacji logiki przez platformę Azure wybierz pozycję Przejdź do zasobu.
Projektant przepływu pracy przedstawia stronę z wprowadzeniem wideo i często używanymi wyzwalaczami.
Przewiń obok okna wideo i sekcję często używanych wyzwalaczy.
W obszarze Szablony wybierz pozycję Pusta aplikacja logiki.
Uwaga
Galeria szablonów przepływów pracy jest dostępna tylko dla aplikacji logiki Zużycie, a nie standardowych aplikacji logiki.
Projektant przepływu pracy pokazuje teraz wyzwalacze , których można użyć do uruchomienia aplikacji logiki. Każdy przepływ pracy musi rozpoczynać się od wyzwalacza, który jest uruchamiany, gdy wystąpi określone zdarzenie lub gdy zostanie spełniony określony warunek. Za każdym razem, gdy wyzwalacz jest uruchamiany, usługa Azure Logic Apps tworzy wystąpienie przepływu pracy, które uruchamia aplikację logiki.
Dodawanie wyzwalacza usługi Azure Event Grid
Teraz dodaj wyzwalacz usługi Azure Event Grid, który służy do monitorowania grupy zasobów dla maszyny wirtualnej.
W projektancie w polu wyszukiwania wprowadź ciąg
event grid
. Z listy wyzwalaczy wybierz wyzwalacz Po wystąpieniu zdarzenia zasobu.Po wyświetleniu monitu zaloguj się do usługi Azure Event Grid przy użyciu poświadczeń konta platformy Azure. Na liście Dzierżawa, która zawiera dzierżawę firmy Microsoft Entra skojarzoną z subskrypcją platformy Azure, sprawdź, czy jest wyświetlana poprawna dzierżawa, na przykład:
Uwaga
Jeśli logujesz się przy użyciu osobistego konta Microsoft, takiego jak @outlook.com lub @hotmail.com, wyzwalacz usługi Azure Event Grid może nie być poprawnie wyświetlany. Aby obejść ten problem, wybierz pozycję Połącz z jednostką usługi lub uwierzytelnij się jako członek firmy Microsoft Entra skojarzonej z subskrypcją platformy Azure, na przykład user-name@emailoutlook.onmicrosoft.com.
Teraz subskrybuj aplikację logiki do zdarzeń od wydawcy. Podaj szczegółowe informacje o subskrypcji zdarzeń zgodnie z opisem w poniższej tabeli, na przykład:
Właściwości Wymagania Wartość Opis Subskrypcja Tak <event-publisher-Azure-subscription-name> Wybierz nazwę subskrypcji platformy Azure skojarzonej z wydawcą zdarzeń. Na potrzeby tego samouczka 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 Dostawcy zasobów i typy platformy Azure. Na potrzeby tego samouczka Microsoft.Resources.ResourceGroups
wybierz wartość do monitorowania grup 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. Na potrzeby tego samouczka wybierz nazwę grupy zasobów platformy Azure, która zawiera maszynę wirtualną. Element typu zdarzenia Nie. <typy zdarzeń> Wybierz co najmniej jeden konkretny typ zdarzeń, aby filtrować i wysyłać je do usługi Azure Event Grid. Można na przykład opcjonalnie dodać te typy zdarzeń, aby wykryć, kiedy zasoby zostaną zmienione lub usunięte: -
Microsoft.Resources.ResourceActionSuccess
-Microsoft.Resources.ResourceDeleteSuccess
-Microsoft.Resources.ResourceWriteSuccess
Aby uzyskać więcej informacji, zobacz następujące tematy:
- Schemat zdarzeń usługi Azure Event Grid dla grup zasobów
- Omówienie filtrowania zdarzeń
- Filtrowanie zdarzeń dla usługi Azure Event GridAby dodać opcjonalne właściwości, wybierz pozycję Dodaj nowy parametr, a następnie wybierz żądane właściwości. Nie. {patrz opisy} * Filtr prefiksu: na potrzeby tego samouczka 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: na potrzeby tego samouczka 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: na potrzeby tego samouczka możesz podać unikatową nazwę subskrypcji zdarzeń.
Zapisz przepływ pracy aplikacji logiki. Na pasku narzędzi projektanta wybierz pozycję Zapisz. Aby zwinąć i ukryć szczegóły akcji w przepływie pracy, wybierz pasek tytułu akcji.
Po zapisaniu przepływu pracy aplikacji logiki za pomocą wyzwalacza usługi Azure Event Grid platforma Azure automatycznie tworzy subskrypcję zdarzeń dla aplikacji logiki do wybranego zasobu. Dlatego gdy zasób publikuje zdarzenie w usłudze Azure Event Grid, usługa automatycznie wypycha zdarzenie do aplikacji logiki. To zdarzenie wyzwala i uruchamia przepływ pracy aplikacji logiki zdefiniowany w następnych krokach.
Aplikacja logiki jest teraz aktywna i nasłuchuje zdarzeń z usługi Azure Event Grid, ale nie wykonuje żadnych czynności, dopóki nie dodasz akcji do przepływu pracy.
Dodaj warunek
Jeśli chcesz, aby przepływ pracy aplikacji logiki był uruchamiany tylko wtedy, gdy wystąpi określone zdarzenie lub operacja, dodaj warunek sprawdzający operację Microsoft.Compute/virtualMachines/write . Jeśli ten warunek jest spełniony, przepływ pracy aplikacji logiki wysyła wiadomość e-mail zawierającą szczegółowe informacje o zaktualizowanej maszynie wirtualnej.
W projektancie przepływu pracy w obszarze wyzwalacza usługi Azure Event Grid wybierz pozycję Nowy krok.
W obszarze Wybierz akcję w polu wyszukiwania wprowadź jako
condition
filtr. Z listy akcji wybierz akcję Warunek .Projektant przepływu pracy dodaje pusty warunek do przepływu pracy, w tym ścieżki akcji do wykonania na podstawie tego, czy warunek ma wartość true, czy false.
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ę.Utwórz warunek, który sprawdza zdarzenie
body
dladata
obiektu, w którymoperationName
właściwość jest równaMicrosoft.Compute/virtualMachines/write
operacji. Dowiedz się więcej o schemacie zdarzeń usługi Azure Event Grid.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.
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:
W środkowym polu zachowaj operator jest równe.
W prawym polu wprowadź operację, którą chcesz monitorować, co jest następującą wartością dla tego przykładu:
Microsoft.Compute/virtualMachines/write
Gotowy warunek wygląda teraz następująco:
Jeśli przełączysz się z widoku projektu do widoku kodu i z powrotem do widoku projektu, wyrażenie określone w warunku zostanie rozpoznane jako token data.operationName :
Zapisz aplikację logiki.
Wysyłanie powiadomień w wiadomościach e-mail
Teraz dodaj akcję , aby można było otrzymać wiadomość e-mail, gdy określony warunek ma wartość true.
W polu W przypadku wartości true warunku wybierz pozycję Dodaj akcję.
W obszarze Wybierz akcję w polu wyszukiwania wprowadź jako
send an email
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 z łącznikiem usługi Office 365 Outlook. Jeśli używasz innego dostawcy, kroki pozostaną takie same, ale interfejs użytkownika może wyglądać nieco inaczej.
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.
Zmień nazwę akcji wyślij wiadomość e-mail na ten tytuł:
Send email when virtual machine updated
Podaj informacje o wiadomości e-mail określone w poniższej tabeli:
Napiwek
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, wybierz ponownie pozycję Dodaj zawartość dynamiczną.
Właściwości Wymagania Wartość Opis Do Tak <recipient@domain> Wprowadź adres e-mail adresata. Do celów testowych możesz użyć własnego adresu e-mail. Temat Tak Resource updated:
TematWprowadź zawartość w polu tematu wiadomości e-mail. Na potrzeby tego samouczka wprowadź określony tekst i wybierz pole Temat zdarzenia. Tutaj temat wiadomości e-mail zawiera nazwę zaktualizowanego zasobu (maszyny wirtualnej). Treść Tak Resource:
TematEvent type:
Typ zdarzeniaEvent ID:
IDTime:
Czas zdarzeniaWprowadź 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, aby wiadomość e-mail zawierała zasób, który wyzwolił zdarzenie, typ zdarzenia, znacznik czasu zdarzenia i identyfikator zdarzenia dla 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. Dzięki temu przepływ pracy aplikacji logiki wykonuje tę akcję na każdym elemencie tablicy.
Teraz Twoja akcja wiadomości e-mail może wyglądać tak jak w tym przykładzie:
Gotowy przepływ pracy aplikacji logiki może wyglądać podobnie do następującego przykładu:
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 przetestować przepływ pracy, przejdź do następnej sekcji.
Testowanie przepływu pracy aplikacji logiki
Aby sprawdzić, czy przepływ pracy otrzymuje określone zdarzenia, zaktualizuj maszynę wirtualną.
Można na przykład zmienić rozmiar maszyny wirtualnej.
Po kilku chwilach powinna nadejść wiadomość e-mail. Na przykład:
Aby przejrzeć historię przebiegów i wyzwalaczy aplikacji logiki, w menu aplikacji logiki wybierz pozycję Przegląd. Aby wyświetlić więcej szczegółów dotyczących przebiegu, wybierz wiersz dla tego przebiegu.
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.
Gratulacje, udało Ci się utworzyć i uruchomić przepływ pracy aplikacji logiki, który monitoruje zdarzenia zasobów za pośrednictwem usługi Azure Event Grid i 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 uzyskuje 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ć uruchamianie przepływu pracy bez usuwania pracy, wyłącz aplikację. W menu aplikacji logiki wybierz pozycję Przegląd. Na pasku narzędzi wybierz pozycję Wyłącz.
Napiwek
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ń. Upewnij się, ż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 na temat publikowania zdarzeń do usługi Azure Event Grid i korzystania z nich przy użyciu różnych języków programowania.