Настройка оповещений с помощью Logic Apps

В этой статье показано, как создать приложение логики и интегрировать его с оповещением Azure Monitor.

Azure Logic Apps можно использовать для создания и настройки рабочих процессов для интеграции. Используйте Logic Apps для настройки уведомлений об оповещениях. Вы можете:

  • Настройте электронную почту оповещений, используя собственный формат темы и текста сообщения электронной почты.
  • Настройте метаданные оповещения путем поиска тегов для затронутых ресурсов или получения результата поиска по запросу журнала. Сведения о том, как получить доступ к строкам результатов поиска, содержащим данные оповещений, см. в следующих разделах:
  • Интеграция с внешними службами с помощью существующих соединителей, таких как Outlook, Microsoft Teams, Slack и PagerDuty. Вы также можете настроить приложение логики для собственных служб.

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

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

  1. В портал Azure создайте новое приложение логики. На панели поиска в верхней части страницы введите Приложение логики.

  2. На странице Приложение логики выберите Добавить.

  3. Выберите подписку и группу ресурсов для приложения логики.

  4. Задайте имя приложения логики. В поле Тип плана выберите Потребление.

  5. Выберите команду Просмотреть и создать>Создать.

  6. После завершения развертывания выберите Перейти к ресурсу .

    Снимок экрана: страница

  7. На странице Logic Apps Designer выберите При получении HTTP-запроса.

    Снимок экрана: начальная страница Designer Logic Apps.

  8. Вставьте общую схему оповещений в поле Схема JSON текста запроса из следующего json:

     {
        "type": "object",
        "properties": {
            "schemaId": {
                "type": "string"
            },
            "data": {
                "type": "object",
                "properties": {
                    "essentials": {
                        "type": "object",
                        "properties": {
                            "alertId": {
                                "type": "string"
                            },
                            "alertRule": {
                                "type": "string"
                            },
                            "severity": {
                                "type": "string"
                            },
                            "signalType": {
                                "type": "string"
                            },
                            "monitorCondition": {
                                "type": "string"
                            },
                            "monitoringService": {
                                "type": "string"
                            },
                            "alertTargetIDs": {
                                "type": "array",
                                "items": {
                                    "type": "string"
                                }
                            },
                            "originAlertId": {
                                "type": "string"
                            },
                            "firedDateTime": {
                                "type": "string"
                            },
                            "resolvedDateTime": {
                                "type": "string"
                            },
                            "description": {
                                "type": "string"
                            },
                            "essentialsVersion": {
                                "type": "string"
                            },
                            "alertContextVersion": {
                                "type": "string"
                            }
                        }
                    },
                    "alertContext": {
                        "type": "object",
                        "properties": {}
                    }
                }
            }
        }
    }
    

    Снимок экрана, на котором показана вкладка

  9. (Необязательно). Вы можете настроить уведомление об оповещении, извлекая сведения о затронутом ресурсе, для которого сработает оповещение, например теги ресурса. Затем вы можете включить эти теги ресурсов в полезные данные оповещения и использовать сведения в логических выражениях для отправки уведомлений. Для выполнения этого шага выполните указанные ниже действия.

    • Создайте переменную для идентификаторов затронутых ресурсов.
    • Разделите идентификатор ресурса на массив, чтобы можно было использовать его различные элементы (например, подписку и группу ресурсов).
    • Используйте соединитель Azure Resource Manager для чтения метаданных ресурса.
    • Извлеките теги ресурса, которые затем можно использовать на последующих шагах приложения логики.
    1. Выберите +>Добавить действие , чтобы вставить новый шаг.

    2. В поле Поиск найдите и выберите Инициализировать переменную.

    3. В поле Имя введите имя переменной, например AffectedResource.

    4. В поле Тип выберите Массив.

    5. В поле Значение выберите Добавить динамическое содержимое. Перейдите на вкладку Выражение и введите строку split(triggerBody()?['data']?['essentials']?['alertTargetIDs'][0], '/').

      Снимок экрана: вкладка

    6. Выберите +>Добавить действие , чтобы вставить еще один шаг.

    7. В поле Поиск найдите и выберите Azure Resource Manager>Читать ресурс.

    8. Заполните поля действия Чтение ресурса значениями массива из переменной AffectedResource . В каждом из полей выберите поле и прокрутите вниз до пункта Введите пользовательское значение. Выберите Добавить динамическое содержимое, а затем перейдите на вкладку Выражение . Введите строки из этой таблицы:

      Поле Строковое значение
      Подписка variables('AffectedResource')[2]
      Группа ресурсов variables('AffectedResource')[4]
      Поставщик ресурсов variables('AffectedResource')[6]
      Короткий идентификатор ресурса concat(variables('AffectedResource')[7], '/', variables('AffectedResource')[8])
      Версия API клиента Версия API типа ресурса

      Чтобы найти версию API типа ресурса, щелкните ссылку представление JSON в правом верхнем углу страницы обзора ресурсов. В верхней части страницы отображается страница ResourceID и API.

    Динамическое содержимое теперь включает теги из затронутого ресурса. Эти теги можно использовать при настройке уведомлений, как описано в следующих шагах.

  10. Отправьте сообщение электронной почты или опубликуйте сообщение Teams.

  11. Выберите +>Добавить действие , чтобы вставить новый шаг.

    Снимок экрана: параметры для параметра При получении HTTP-запроса.

  1. В поле поиска найдите Outlook.

  2. Выберите Office 365 Outlook.

    Снимок экрана: страница

  3. Выберите Отправить сообщение электронной почты (V2) в списке действий.

  4. Войдите в Office 365 при появлении запроса на создание подключения.

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

    • Оповещение имеет состояние мониторинга: Выберите monitorCondition в списке Динамическое содержимое .
    • Дата срабатывания: Выберите firedDateTime в списке Динамическое содержимое .
    • Затронутые ресурсы: Выберите alertTargetIDs в списке Динамическое содержимое .
  6. В поле Тема создайте текст темы, введя статический текст и добавив содержимое, полученное из полезных данных оповещения, выбрав поля из списка Динамическое содержимое . Пример:

    • Оповещения: Выберите alertRule в списке Динамическое содержимое .
    • с уровнем серьезности: Выберите серьезность в списке Динамическое содержимое .
    • имеет условие: Выберите monitorCondition в списке Динамическое содержимое .
  7. Введите адрес электронной почты, чтобы отправить оповещение в поле Кому .

  8. Щелкните Сохранить.

    Снимок экрана: вкладка

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

Следующим шагом является создание группы действий для активации приложения логики.

Создание группы действий

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

  1. Перейдите на страницу Azure Monitor и выберите Оповещения в области слева.

  2. Выберите Группы действий>Создать.

  3. Выберите значения подписки, группы ресурсов и региона.

  4. Введите имя в полях Имя группы действий и Отображаемое имя.

  5. Перейдите на вкладку Actions (Действия).

    Снимок экрана: вкладка

  6. На вкладке Действия в разделе Тип действия выберите Приложение логики.

  7. В разделе Приложение логики выберите приложение логики из раскрывающегося списка.

  8. Задайте для параметра Включить общую схему оповещений значение Да. Если выбрать Нет, тип оповещения определяет, какая схема оповещений используется. Дополнительные сведения о схемах оповещений см. в разделе Контекстные схемы оповещений.

  9. Щелкните ОК.

  10. Введите имя в поле Имя .

  11. Выберите команду Просмотреть и создать>Создать.

    Снимок экрана: вкладка

Тестирование группы действий

  1. Выберите группу действий.

  2. В разделе Приложение логики выберите Тестировать группу действий (предварительная версия) .

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

  3. Выберите пример типа оповещения в раскрывающемся списке Выбор типа примера .

  4. Выберите Тест.

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

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

    Снимок экрана: пример сообщения электронной почты, отправленный страницей

Создание правила с помощью группы действий

  1. Создайте правило для одного из ресурсов.

  2. На вкладке Действия правила выберите Выбрать группы действий.

  3. Выберите группу действий в списке.

  4. Щелкните Выбрать.

  5. Завершите создание правила.

    Снимок экрана: вкладка

Дальнейшие действия