Поделиться через


Учебник. Отслеживание изменений виртуальной машины с помощью службы "Сетка событий Azure" и Azure Logic Apps

Область применения: Azure Logic Apps (потребление)

Чтобы отслеживать и реагировать на определенные события, происходящие в ресурсах Azure или внешних ресурсах, можно использовать службу "Сетка событий Azure" и Azure Logic Apps. Вы можете создать автоматизированный рабочий процесс приложения логики потребления с минимальным кодом с помощью Azure Logic Apps. Эти ресурсы могут публиковать события в службе "Сетка событий Azure". В свою очередь Сетка событий Azure отправляет эти события подписчикам, имеющим очереди, веб-перехватчики или центры событий в качестве конечных точек. В качестве подписчика рабочий процесс ожидает, пока эти события попадут в службу "Сетка событий Azure", прежде чем выполнять шаги по обработке событий.

Ниже приведены некоторые события, которые издатели могут отправлять подписчикам через Службу "Сетка событий Azure":

  • Создание, чтение, обновление или удаление ресурса. Например, можно отслеживать изменения, за которые может взиматься плата по подписке Azure и которые могут отразиться на вашем счете.
  • Добавление или удаление пользователя в подписке Azure.
  • Ваше приложение выполняет определенное действие.
  • В очереди появляется новое сообщение.

В этом руководстве описано, как создать ресурс приложения логики потребления, который выполняется в мультитенантных Azure Logic Apps. Приложение основано на модели ценообразования на потребление. С помощью этого ресурса приложения логики вы создадите рабочий процесс, который отслеживает изменения на виртуальной машине, и отправляет сообщения электронной почты об этих изменениях. При создании рабочего процесса с подпиской на события ресурса Azure события передаются из этого ресурса в рабочий процесс с помощью службы "Сетка событий Azure".

Снимок экрана: конструктор рабочих процессов с рабочим процессом, который отслеживает виртуальную машину с помощью службы

В этом руководстве описано следующее:

  • Создание ресурса приложения логики и рабочего процесса, отслеживающего события с помощью службы "Сетка событий".
  • Добавление условия, проверяющего наличие изменений виртуальной машины.
  • Отправка электронного сообщения при изменении виртуальной машины.

Необходимые компоненты

Создание ресурса приложения логики

  1. Войдите на портал Azure с помощью своей учетной записи Azure.

  2. На домашней странице Azure последовательно выберите Создать ресурс>Интеграция>Приложение логики.

    Снимок экрана: портал Azure с параметрами для создания ресурса приложения логики.

  3. Выберите"Многотенантноеиспользование>".

  4. В разделе Создание приложения логики укажите сведения о своем ресурсе приложения логики:

    Снимок экрана: меню создания приложений логики, в котором отображаются такие сведения, как имя, подписка, группа ресурсов и расположение.

    Параметр Обязательное поле значение Описание
    Подписка Да < имя-подписки-Azure> Выберите одну подписку Azure для всех служб в этом учебнике.
    Группа ресурсов Да < Azure-resource-group> Имя группы ресурсов Azure для приложения логики, которое вы можете выбрать для всех служб в этом учебнике.
    Имя приложения логики Да < logic-app-name> Укажите уникальное имя для приложения логики.
    Регион Да < Azure-region> Выберите один регион для всех служб в этом руководстве.

    Примечание.

    Это руководство относится только к приложениям логики потребления, в которых используется другой пользовательский интерфейс. Дополнительные сведения см. в разделе "Различия между стандартными приложениями логики с одним клиентом" и приложениями многотенантной логики потребления.

  5. Когда все будет готово, выберите Просмотр и создание. На следующей странице подтвердите предоставленные сведения и нажмите кнопку "Создать".

Добавьте триггер Сетки событий Azure

Чтобы добавить триггер сетки событий Azure, чтобы отслеживать группу ресурсов для виртуальной машины, выполните следующие действия.

  1. На портале Azure откройте ресурс приложения логики потребления.

  2. На боковой панели ресурсов в разделе "Средства разработки" выберите конструктор, чтобы открыть рабочий процесс.

  3. В конструкторе выполните следующие общие действия , чтобы добавить триггер сетки событий Azure с именем "Когда событие ресурса происходит" в рабочийпроцесс.

  4. В области создания подключения укажите следующие сведения:

    Параметр Обязательное поле Описание
    Аутентификация Да Выберите тип проверки подлинности, который требуется для подключения. Выбор определяет другие значения параметров, необходимые этому подключению.

    Например, при проверке подлинности OAuth отображается список идентификаторов клиента и отображается клиент Microsoft Entra для вашей подписки Azure. Убедитесь, что отображается правильный клиент:

    Снимок экрана: конструктор рабочих процессов с запросом на вход в Службу

    Примечание.

    Если вы вошли с помощью личной учетной записи Майкрософт, например @outlook.com или @hotmail.com, триггер службы "Сетка событий Azure" может отображаться неправильно. В качестве обходного решения выберите "Подключиться к субъекту-службе" или пройти проверку подлинности в качестве члена подписки Microsoft Entra для вашей подписки Azure. Например, имя пользователя@emailoutlook.onmicrosoft.com.

  5. После завершения выберите Войти.

  6. Теперь настройте рабочий процесс с подпиской на события от издателя.

    В области триггеров укажите следующие сведения о подписке на события:

    Снимок экрана: конструктор рабочих процессов с открытым редактором сведений о триггере.

    Параметр Обязательное поле значение Описание
    Тип ресурса Да < event-publisher-Azure-resource-type> Выберите тип ресурса Azure для издателя событий. Дополнительные сведения см. в статье Поставщики и типы ресурсов Azure. В этом руководстве выберите Microsoft.Resources.ResourceGroups для мониторинга групп ресурсов Azure.
    Подписка Да < event-publisher-Azure-subscription-name> Выберите имя подписки Azure для издателя событий. Для работы с этим руководством выберите для виртуальной машины имя подписки Azure.
    Имя ресурса Да < event-publisher-Azure-resource-name> Выберите имя ресурса Azure для издателя событий. Этот список зависит от выбранного типа ресурса. Для работы с этим учебником выберите имя группы ресурсов Azure, содержащей виртуальную машину.
    Элемент типа события No < Типы событий> Выберите один или несколько определенных типов событий для фильтрации и отправки в Сетку событий Azure. Например, можно дополнительно добавить эти типы событий, чтобы определить, когда ресурсы изменяются или удаляются:

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

    Для получения дополнительной информации см.:

    - Группа ресурсов Azure в качестве источника сетки событий
    - Understand event filtering for Event Grid subscriptions (Сведения о фильтрации событий для подписок Сетки событий)
    - Фильтрация событий для сетки событий
    Чтобы добавить необязательные параметры, откройте список дополнительных параметров и выберите нужные параметры. No {просмотрите описания} - Фильтр префикса: в этом руководстве оставьте это значение пустым. Фильтр по умолчанию соответствует всем значениям. Тем не менее можно указать строку префикса в качестве фильтра, например путь и параметр для определенного ресурса.

    - Фильтр суффикса: в этом руководстве оставьте это значение пустым. Фильтр по умолчанию соответствует всем значениям. Тем не менее можно указать строку суффикса в качестве фильтра, например расширение имени файла, если вас интересуют только определенные типы файлов.

    - Имя подписки. В этом руководстве можно указать уникальное имя подписки на события.
  7. Сохраните ваш рабочий процесс. На панели инструментов конструктора выберите Сохранить.

    При сохранении рабочего процесса с триггером сетки событий Azure Azure Azure создает подписку на события для рабочего процесса в выбранном ресурсе. Когда ресурс публикует событие в службе "Сетка событий Azure", служба отправляет событие в рабочий процесс. Это событие активирует и запускает рабочий процесс, который вы определяете в следующем разделе.

При сохранении рабочего процесса ресурс приложения логики становится активным на портале Azure и начинает прослушивать события из службы "Сетка событий Azure". Однако рабочий процесс не делает ничего другого, пока вы не добавите действия для выполнения задач.

Добавить условие

Чтобы выполнить действия в рабочем процессе только в том случае, если происходит определенное событие или операция, добавьте условие, которое проверяет наличие этого события или операции. В этом руководстве проверяется операция Microsoft.Compute/virtualMachines/write . Если это условие верно, другое действие в рабочем процессе отправляет вам сообщение электронной почты, включающее сведения об обновленной виртуальной машине.

  1. В конструкторе выполните следующие общие действия , чтобы добавить встроенное действие с именем Condition в рабочий процесс.

    Конструктор добавляет пустое условие в рабочий процесс, в том числе пути действий для выполнения на основе того, является ли условие истинным или ложным.

    Снимок экрана: конструктор рабочих процессов с пустым условием, добавленным в рабочий процесс.

  2. Чтобы переименовать условие, в области действий в заголовке действия выберите условие. Переименуйте название на " Если виртуальная машина в группе ресурсов изменилась".

    Снимок экрана: конструктор рабочих процессов и поле заголовка действия с новым именем.

  3. Создайте условие, которое проверяет событие body для data объекта, где operationName параметр равен операции Microsoft.Compute/virtualMachines/write . Дополнительные сведения см. в схеме событий Сетки событий Azure.

    1. В первой строке в разделе " выберите в левом поле, чтобы отобразить входные параметры, которые являются списком динамического содержимого (значок молнии) и редактором выражений (значок функции). Выберите редактор выражений.

      Снимок экрана: конструктор рабочих процессов с открытым действием и редактором выражений переименованного условия.

    2. В редакторе убедитесь, что выбрана функция . В поле редактора введите следующее выражение, которое возвращает имя операции из триггера, а затем нажмите кнопку "Добавить".

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

      Например:

      Снимок экрана: конструктор рабочих процессов и редактор условий с выражением для извлечения имени операции.

    3. В среднем поле сохраните оператор "равно" () (=).

    4. В поле справа укажите операцию, которую требуется отслеживать. В этом примере будет использоваться следующее значение:

      Microsoft.Compute/virtualMachines/write

    По завершении условие будет выглядеть следующим образом:

    Снимок экрана: конструктор рабочих процессов с условием, которое сравнивает операцию.

    При сохранении изменений и переходе из представления конструктора в представление кода и возврате к представлению конструктора выражение в условии разрешает маркер data.operationName :

    Снимок экрана: конструктор рабочих процессов с условием, разрешающим маркеры.

  4. Сохраните ваш рабочий процесс.

Отправка уведомлений по электронной почте

Теперь добавьте действие, чтобы вы могли получать электронное сообщение, когда заданное условие имеет значение true.

  1. В поле "True " условия нажмите кнопку +>"Добавить действие".

    Снимок экрана: конструктор рабочих процессов с открытой областью true условия и выбранным параметром для добавления действия.

  2. В поле поиска области действий введите сообщение электронной почты. На основе поставщика электронной почты найдите соответствующий тип соединителя. Выберите действие "Отправить сообщение электронной почты" для соединителя. Например:

    • Для рабочей или учебной учетной записи Azure выберите действие соединителя Office 365 Outlook с именем "Отправить сообщение электронной почты" (версия 2).
    • Для личных учетных записей Майкрософт выберите действие соединителя Outlook.com с именем Send an email (V2).
    • Для учетных записей Gmail выберите действие соединителя Gmail с именем Send email (V2).

    В этом руководстве продолжается действие соединителя Office 365 Outlook. Если вы используете другой поставщик, шаги остаются одинаковыми, но пользовательский интерфейс может выглядеть немного иначе.

  3. Если у вас еще нет подключения к поставщику электронной почты, войдите в учетную запись электронной почты при запросе проверки подлинности удостоверения.

  4. Переименуйте действие отправки электронной почты в следующее название: отправка сообщения электронной почты при обновлении виртуальной машины.

  5. В области действий укажите следующие сведения о сообщении электронной почты для отправки:

    Совет

    Чтобы выбрать выходные данные из предыдущих операций (триггера и действий) в рабочем процессе, выполните следующие действия:

    1. Выберите внутри поля редактирования, чтобы отобразить входные параметры, которые являются списком динамического содержимого (значок молнии) и редактором выражений (значок функции). Выберите список динамического содержимого.
    2. Найдите и выберите выходные данные, которые требуется включить. Выберите Дополнительно для каждого раздела в списке, чтобы отобразить дополнительные результаты.
    Параметр Обязательное поле значение Описание
    Кому Да < получатель@домен> Введите электронный адрес получателя. Для тестировании можете использовать свой собственный адрес.
    Тема Да Обновлен ресурс:[Тема] Введите содержимое темы электронного сообщения. В рамках этого руководства введите указанный текст и выберите поле события Тема. Здесь тема электронного сообщения содержит имя обновленного ресурса (виртуальная машина).
    Текст Да Ресурс:[Раздел]

    Тип события:[Тип события]

    Идентификатор события:[идентификатор]

    Time:[Время события]
    Введите содержимое текста сообщения электронной почты. В этом руководстве введите указанный текст и выберите разделсобытия, тип события, идентификатор и время событий, чтобы электронная почта содержит ресурс, который запустил событие, тип события, метку времени события и идентификатор события для обновления. В рамках этого учебника ресурсом является группа ресурсов Azure, выбранная в триггере.

    Чтобы добавить пустые строки в содержимое, нажмите клавиши SHIFT + ВВОД.

    Примечание.

    Если выбрать поле, которое представляет массив, конструктор автоматически добавит цикл For each для действия, которое ссылается на массив. Таким образом рабочий процесс выполняет это действие для каждого элемента массива.

    Действие электронной почты может выглядеть следующим образом:

    Снимок экрана: конструктор рабочих процессов с выбранными выходными данными для отправки сообщения электронной почты при обновлении виртуальной машины.

    Готовый рабочий процесс выглядит следующим образом:

    Снимок экрана: конструктор с полным рабочим процессом и сведениями о триггерах и действиях.

  6. Сохраните ваш рабочий процесс.

    Обновления рабочего процесса теперь живут. Триггер рабочего процесса ожидает изменений виртуальной машины, прежде чем делать что-либо. Чтобы проверить рабочий процесс, перейдите следующему разделу.

Тестирование рабочего процесса

  1. Чтобы проверить, получает ли рабочий процесс указанные события, обновите виртуальную машину.

    Например, можно изменить размер виртуальной машины.

    Через несколько секунд вы должны получить электронное сообщение. Например:

  2. Чтобы просмотреть журнал выполнения или журнал триггеров для рабочего процесса, на боковой панели ресурса выберите "Обзор".

  3. На странице обзора выберите журнал выполнения. Чтобы просмотреть дополнительные сведения о выполнении рабочего процесса, выберите этот запуск.

    Снимок экрана: страница обзора приложения логики с выбранным выбранным выполнением.

  4. Чтобы просмотреть входные и выходные данные для каждой операции, выберите следующую операцию.

    Эти сведения помогут вам диагностировать и отлаживать проблемы в рабочем процессе.

    Снимок экрана: журнал выполнения рабочего процесса с подробными сведениями о каждом выполнении.

Поздравляю! Вы создали и запустили рабочий процесс, отслеживающий события ресурсов в службе "Сетка событий Azure" и сообщения электронной почты при возникновении этих событий. Вы также узнали, как можно легко создать рабочие процессы, позволяющие автоматизировать и интегрировать системы и облачные службы.

Вы можете отслеживать другие изменения конфигурации с помощью сетки событий и рабочих процессов, например:

  • Виртуальная машина получает разрешения на управление доступом на основе ролей Azure (Azure RBAC).
  • вносятся изменения в группу безопасности сети (NSG) сетевого интерфейса;
  • добавляются или удаляются диски виртуальной машины;
  • сетевому адаптеру виртуальной машины назначается общедоступный IP-адрес.

Очистка ресурсов

В этом руководстве используются ресурсы и выполняются действия, подлежащие оплате по подписке Azure. Когда вы закончите работу с руководством и тестированием, отключите или удалите все ресурсы, в которых вы не хотите взимать плату.

  • Чтобы остановить выполнение рабочего процесса, не удаляя данные, отключите приложение. На боковой панели приложения логики выберите "Обзор". На панели инструментов нажмите кнопку Отключить.

    Снимок экрана: страница обзора приложения логики с выбранной кнопкой

    Совет

    Если вы не видите боковую панель приложения логики, попробуйте вернуться на портал Azure домой и повторно открыть ресурс приложения логики.

  • Чтобы окончательно удалить приложение логики, в боковом меню выберите "Обзор". На панели инструментов нажмите кнопку удалить. Убедитесь, что вы хотите удалить приложение логики и нажмите кнопку "Удалить".

Примеры публикации событий и использования событий в Службе "Сетка событий Azure" с помощью различных языков программирования см. в следующих примерах: