Настройка уведомлений о работоспособности для систем управления проблемами с помощью веб-перехватчика

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

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

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

Если вы хотите использовать предварительно настроенную интеграцию, см. следующие инструкции:

Просмотрите видео с вводной информацией:

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

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

См . примерServiceHealth полезных данных веб-перехватчика.

Оповещение о работоспособности служб можно распознать по элементу context.eventSource == "ServiceHealth". Наиболее важными являются следующие свойства:

  • data.context.activityLog.status
  • data.context.activityLog.level
  • data.context.activityLog.subscriptionId
  • data.context.activityLog.properties.title
  • data.context.activityLog.properties.impactStartTime
  • data.context.activityLog.properties.communication
  • data.context.activityLog.properties.impactedServices
  • data.context.activityLog.properties.trackingId

Вы можете добавить прямую ссылку на панель мониторинга "Работоспособность служб" на рабочем столе или мобильном устройстве, создав специализированный URL-адрес. Используйте идентификатор trackingId, а также первые три и последние три цифры subscriptionId в следующем формате:

https://app.azure.com/h/<trackingId>/<первые три и последние три цифры subscriptionId>

Например, для subscriptionId bba14129-e895-429b-8809-278e836ecdb3 и trackingId 0DET-URB, URL-адрес Работоспособности служб:

https://app.azure.com/h/0DET-URB/bbadb3

Определение серьезности проблемы по значению уровня

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

Анализ затронутых служб для определения области инцидента

Оповещения о работоспособности служб могут информировать вас о проблемах, затрагивающих несколько регионов и служб. Чтобы получить полные сведения, необходимо проанализировать значение impactedServices.

Его содержимое представляет собой экранированную строку JSON. После разэкранирования она будет содержать еще один объект JSON, который можно проанализировать обычным способом. Например:

{"data.context.activityLog.properties.impactedServices": "[{\"ImpactedRegions\":[{\"RegionName\":\"Australia East\"},{\"RegionName\":\"Australia Southeast\"}],\"ServiceName\":\"Alerts & Metrics\"},{\"ImpactedRegions\":[{\"RegionName\":\"Australia Southeast\"}],\"ServiceName\":\"App Service\"}]"}

Становится:

[
   {
      "ImpactedRegions":[
         {
            "RegionName":"Australia East"
         },
         {
            "RegionName":"Australia Southeast"
         }
      ],
      "ServiceName":"Alerts & Metrics"
   },
   {
      "ImpactedRegions":[
         {
            "RegionName":"Australia Southeast"
         }
      ],
      "ServiceName":"App Service"
   }
]

Этот пример указывает на следующие проблемы:

  • "Оповещения и метрики" в регионах "Восточная Австралия" и "Юго-Восточная Австралия".
  • "Служба приложений" в регионе "Юго-Восточная Австралия".

Проверка интеграции с веб-перехватчиком с помощью запроса HTTP POST

Выполните следующие действия:

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

  2. Создайте запрос HTTP POST следующим образом:

    POST        https://your.webhook.endpoint
    
    HEADERS     Content-Type: application/json
    
    BODY        <service health payload>
    

    Вы должны получить ответ "2XX — успех".

  3. Откройте PagerDuty и убедитесь, что интеграция настроена успешно.

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