Руководство по настройке уведомлений об аномалиях в Помощнике по метрикам

Важно!

Начиная с 20 сентября 2023 г. вы не сможете создавать новые ресурсы помощника по метрикам. Служба помощника по метрикам отменяется 1 октября 2026 года.

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

  • создание обработчика в Помощнике по метрикам;
  • отправка уведомлений с помощью Azure Logic Apps;
  • отправка уведомлений в Microsoft Teams;
  • отправка уведомлений через SMTP-сервер.

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

Создание ресурса Помощника по метрикам

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

создание обработчика в Помощнике по метрикам;

Обработчик в Помощнике по метрикам позволяет клиенту подписываться на аномалии метрик и отправлять уведомления через разные каналы. В Помощнике по метрикам поддерживается четыре типа обработчиков:

  • Обработчик сообщений электронной почты
  • webhook
  • обработчик Teams;
  • обработчик Azure DevOps.

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

Отправка уведомлений с помощью Azure Logic Apps, Teams и SMTP

Отправка уведомления по электронной почте с использованием Azure Logic Apps

Есть два распространенных способа отправки уведомлений по электронной почте, которые поддерживаются в Помощнике по метрикам. Один из них — отправка уведомлений по электронной почте через веб-перехватчики и Azure Logic Apps, а другой — отправка напрямую через собственный SMTP-сервер, который вам нужно настроить. В этом разделе основное внимание уделяется первому варианту, который проще реализовать клиентам без готового SMTP-сервера.

Шаг 1. Создание веб-перехватчика в помощнике по метрикам

Веб-перехватчик — это точка входа для всей информации, доступной в службе Помощника по метрикам. Он вызывает предоставляемый пользователем API при активации оповещения. Через веб-перехватчик можно отправлять все оповещения.

Выберите вкладку Обработчики в рабочей области Помощника по метрикам и нажмите кнопку Создать обработчик. Выберите тип обработчика Веб-перехватчик. Введите обязательные параметры и щелкните ОК. Подробные инструкции см. в разделе Создание веб-перехватчика.

Вам нужно заполнить еще один дополнительный параметр Конечная точка. Это можно сделать после выполнения шага 3 ниже.

Шаг 2. Создание ресурса приложения логики потребления

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

Шаг 3. Добавление триггера при получении HTTP-запроса

  • Azure Logic Apps использует разные действия для активации определенных рабочих процессов. В этом случае используется триггер с именем "При получении HTTP-запроса".

  • В диалоговом окне При получении HTTP-запроса выберите Использовать пример полезной нагрузки, чтобы создать схему.

    Screenshot that shows the When an HTTP request dialog box and the Use sample payload to generate schema option selected.

    Скопируйте следующий пример кода JSON в текстовое поле и щелкните Готово.

    {
    "properties": {
        "value": {
            "items": {
                "properties": {
                    "alertInfo": {
                        "properties": {
                            "alertId": {
                                "type": "string"
                            },
                            "anomalyAlertingConfigurationId": {
                                "type": "string"
                            },
                            "createdTime": {
                                "type": "string"
                            },
                            "modifiedTime": {
                                "type": "string"
                            },
                            "timestamp": {
                                "type": "string"
                            }
                        },
                        "type": "object"
                    },
                    "alertType": {
                        "type": "string"
                    },
                    "callBackUrl": {
                        "type": "string"
                    },
                    "hookId": {
                        "type": "string"
                    }
                },
                "required": [
                    "hookId",
                    "alertType",
                    "alertInfo",
                    "callBackUrl"
                ],
                "type": "object"
            },
            "type": "array"
        }
    },
    "type": "object"
     }
    
  • Выберите метод POST и щелкните Сохранить. Теперь вы увидите URL-адрес триггера HTTP-запроса. Щелкните значок копирования, чтобы скопировать значение, и вставьте его в поле Конечная точка на шаге 1.

    Screenshot that highlights the copy icon to copy the URL of your HTTP request trigger.

Шаг 4. Добавление следующего шага с помощью действия HTTP

Сигналы, отправляемые через веб-перехватчик, содержат только ограниченный набор сведений: timestamp, alertID, configurationID и т. п. Подробные сведения необходимо запрашивать через URL-адрес обратного вызова, указанный в сигнале. На этом шаге мы запросим подробные сведения об оповещении.

  • Выберите метод GET.

  • Выберите значение callBackURL в списке "Динамическое содержимое" в разделе URI.

  • Введите ключ Content-Type в области "Заголовки" и укажите значение application/json.

  • Введите ключ x-API-Key в области "Заголовки" и получите его значение, щелкнув вкладку Ключи API в рабочей области Помощника по метрикам. Так вы предоставите рабочему процессу достаточные разрешения для вызовов API.

    Screenshot that highlights the api-keys

Шаг 5. Добавление следующего шага для анализа JSON

Чтобы упростить форматирование содержимого электронного письма, следует проанализировать ответ, полученный от API.

Примечание.

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

  • Выберите "Текст" в списке "Динамическое содержимое" в разделе "Содержимое".
  • Щелкните Использовать пример полезной нагрузки, чтобы создать схему. Скопируйте следующий пример кода JSON в текстовое поле и щелкните Готово.
{
    "properties": {
        "@@nextLink": {},
        "value": {
            "items": {
                "properties": {
                    "properties": {
                        "properties": {
                            "IncidentSeverity": {
                                "type": "string"
                            },
                            "IncidentStatus": {
                                "type": "string"
                            }
                        },
                        "type": "object"
                    },
                    "rootNode": {
                        "properties": {
                            "createdTime": {
                                "type": "string"
                            },
                            "detectConfigGuid": {
                                "type": "string"
                            },
                            "dimensions": {
                                "properties": {
                                },
                                "type": "object"
                            },
                            "metricGuid": {
                                "type": "string"
                            },
                            "modifiedTime": {
                                "type": "string"
                            },
                            "properties": {
                                "properties": {
                                    "AnomalySeverity": {
                                        "type": "string"
                                    },
                                    "ExpectedValue": {}
                                },
                                "type": "object"
                            },
                            "seriesId": {
                                "type": "string"
                            },
                            "timestamp": {
                                "type": "string"
                            },
                            "value": {
                                "type": "number"
                            }
                        },
                        "type": "object"
                    }
                },
                "required": [
                    "rootNode",
                    "properties"
                ],
                "type": "object"
            },
            "type": "array"
        }
    },
    "type": "object"
}

Шаг 6. Добавление следующего шага для создания HTML-таблицы

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

Ниже приведен пример таблицы HTML, в которой для сообщения с оповещением отбираются поля timestamp, metricGUID и dimension.

Screenshot of html table example

Шаг 7. Добавление последнего шага для отправки сообщения электронной почты

Есть несколько способов отправки электронной почты, которые предоставляются как корпорацией Майкрософт, так и сторонними поставщиками. В зависимости от выбранного варианта клиенту может понадобиться создать клиент или учетную запись. Например, если в качестве сервера выбран Office 365 Outlook. Процесс входа будет дополнен созданием подключения и авторизацией. Будет установлено подключение к API для отправки оповещения через сервер электронной почты.

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

Screenshot of send an email

Следующие шаги

Перейдите к следующей статье, чтобы узнать, как создать запрос.