Как настроить оповещения и уведомления

Вы просматриваете документацию по Apigee Edge.
Перейдите к документации по Apigee X.
Информация

Условия оповещений определяют пороговые значения для определенных кодов статуса (например, 404/502/2xx/4xx/5xx), задержки и кодов ошибок. При превышении этих значений в интерфейсе появляются визуальные оповещения и отправляются уведомления по различным каналам, таким как электронная почта, Slack, PagerDuty или веб-перехватчики. Оповещения можно настроить на уровне среды, прокси-сервера API, целевого сервиса или региона. Когда сработает оповещение, вы получите уведомление выбранным вами способом. Подробнее о том, как добавить оповещения и уведомления…

Например, вы можете настроить предупреждение об ошибке и отправку уведомления команде эксплуатации, если доля ошибок 5xx превысит 23% в течение пяти минут для прокси-сервера API orders-prod, развернутого в вашей рабочей среде.

На рисунке ниже показано, как оповещения отображаются в интерфейсе.

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

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

  • Нажмите Посмотреть детали, чтобы увидеть подробную информацию, в том числе настройки оповещений и действия для каждого условия за последний час.
  • Определение оповещения – определение оповещения.
  • История оповещений, чтобы посмотреть подробную информацию об определенном оповещении.
  • Посмотреть руководство, чтобы увидеть рекомендуемые действия, если они есть.
  • Посмотреть отчет об API, чтобы увидеть специальный отчет об условиях оповещения.

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

Типы оповещений

В первом выпуске API Monitoring можно было создавать правила на основе шаблонов, которые указывают, когда следует создавать оповещение на основе набора заданных условий. Такие оповещения называются фиксированными. Они были единственным типом оповещений, поддерживаемым в первоначальной версии API Monitoring.

Например, можно настроить фиксированное оповещение, если:

  • [доля ошибок 5xx] [больше] [10%] в течение [10 минут] от [целевого объекта mytarget1]
  • [количество ошибок 2xx] [меньше] [50] за [5 минут] в [регионе us-east-1]
  • [Задержка на уровне 90-го процентиля] [больше] [750 мс] в течение [10 минут] на [прокси-сервере myproxy1].

В бета-версии отчетов о безопасности 19.11.13 добавлены новые типы оповещений:

Поскольку API Monitoring теперь поддерживает несколько типов оповещений, в диалоговом окне "Создать оповещение" появился вариант выбора типа оповещения:

В диалоговом окне создания оповещения теперь можно выбрать несколько типов оповещений

Как посмотреть настройки оповещений

Чтобы посмотреть заданные настройки оповещений, в интерфейсе Edge нажмите Analyze > Alert Rules (Анализ > Правила оповещений).

Откроется страница "Оповещение", как показано на рисунке ниже.

Оповещения по электронной почте

Как показано на рисунке, на странице оповещений можно:

Как посмотреть историю оповещений, сработавших в организации

Чтобы посмотреть историю оповещений, сгенерированных для вашей организации за последние 24 часа, нажмите Analyze > Alert Rules (Анализ > Правила оповещений) в интерфейсе Edge и перейдите на вкладку History (История).

Откроется страница "История оповещений".

История оповещений

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

Как добавить оповещения и уведомления

Чтобы добавить оповещения и уведомления:

  1. В интерфейсе Edge нажмите Analyze (Анализ) > Alert Rules (Правила оповещений).
  2. Нажмите + Оповещение.
  3. Укажите следующую общую информацию об оповещении:
    Поле Описание
    Название оповещения Название оповещения. Используйте название, которое описывает триггер и будет понятно вам. Длина названия не должна превышать 128 символов.
    Тип оповещения Выберите Закреплено. Подробнее о типах оповещений…
    Описание Описание оповещения.
    Среда Выберите среду в раскрывающемся списке.
    Статус Переключатель, с помощью которого можно включать и отключать оповещения
  4. Укажите показатель, пороговое значение и параметр для первого условия, которое будет активировать оповещение.
    Поле условия Описание
    Показатель

    Выберите один из следующих показателей:

    • Код статуса. Выберите код статуса из списка, например 401, 404, 2xx, 4xx или 5xx HTTP.

      Примечания

      • API позволяет задавать более широкий диапазон кодов статуса. С помощью API можно указать любой код статуса в диапазоне 200–299, 400–599, а также подстановочные значения 2xx, 4xx или 5xx. Подробнее о том, как создать оповещение…
      • Для оповещений об ограничении частоты запросов (код статуса HTTP 429) задайте для показателя код ошибки Spike Arrest.
      • Вы можете использовать правило AssignMessage, чтобы переписать код ответа HTTP, полученный в результате ошибки прокси-сервера или целевого сервиса. API Monitoring игнорирует переписанные коды и регистрирует фактические коды HTTP-ответа.
    • Задержка – выберите значение задержки из раскрывающегося списка. а именно: p50 (50-й процентиль), p90 (90-й процентиль), p95 (95-й процентиль) или p99 (99-й процентиль). Например, выберите p95, чтобы настроить оповещение, которое будет срабатывать, когда задержка ответа для 95-го процентиля превысит заданный ниже порог.
    • Код ошибки. Выберите категорию, подкатегорию и код ошибки из списка. Или выберите один из следующих вариантов в категории или подкатегории:

      • Все – суммарное количество всех кодов неисправностей в этой категории или подкатегории должно соответствовать критериям показателя.
      • Любой – один код ошибки в этой категории или подкатегории должен соответствовать критериям показателя.

      Подробнее о кодах ошибок…

    Пороговое значение

    Настройте пороговое значение для выбранного показателя:

    • Код статуса. Установите пороговое значение в процентах, количестве или транзакциях в секунду.
    • Задержка – выберите пороговое значение в виде общей или целевой длительности задержки (в миллисекундах) за определенный период времени. В этом случае оповещение срабатывает, если наблюдаемая задержка, которая обновляется каждую минуту при наличии трафика, превышает пороговое значение в течение указанного временного диапазона. То есть пороговое значение не агрегируется за весь период времени.
    • Код ошибки. Установите пороговое значение в процентах, количестве или транзакциях в секунду за определенный период времени.
    Параметр Нажмите + Добавить параметр и укажите, какие результаты нужно вернуть, в том числе прокси-сервер API, целевой сервис, приложение разработчика и регион.

    Если вы зададите для определенного параметра:

    • Все – все объекты в параметре должны соответствовать критериям показателя. Для показателя типа Задержка нельзя выбрать вариант Все.
    • Любой – применяется только к региону. Объект в параметре должен соответствовать критериям показателя хотя бы в одном регионе.
      Примечание. Чтобы поддерживать функцию "Любой" для прокси API или целевых сервисов, выберите коллекцию.
    • Подборки. Выберите подборку из списка, чтобы указать набор прокси API или целевых сервисов. В этом случае критериям должен соответствовать любой объект в коллекции.

    Если вы зададите для параметра значение Цель, то сможете выбрать целевой сервис или сервис, указанный в правиле ServiceCallout. Цель правила ServiceCallout отображается как значение с префиксом sc://, например sc://my.endpoint.net.

  5. Нажмите Показать данные о состоянии, чтобы посмотреть последние данные о состоянии за последний час.
    Если доля ошибок на графике превышает пороговое значение, она отображается красным цветом.
    Показать данные об условиях

    Нажмите Скрыть данные об условиях.

  6. Нажмите + Добавить условие, чтобы добавить дополнительные условия, и повторите шаги 4 и 5.

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

  7. Нажмите Создать отчет об аналитике API на основе условий оповещения, если вы хотите создать специальный отчет на основе настроенных вами условий оповещения. Если вы не являетесь администратором организации, этот параметр будет недоступен.

    Подробнее о том, как создать специальный отчет на основе оповещения…

    Примечание. После сохранения оповещения вы можете изменить специальный отчет, как описано в разделе Управление специальными отчетами.

  8. Нажмите + Уведомление, чтобы добавить оповещение.
    Данные об уведомлении Описание
    Канал Выберите канал уведомлений и укажите получателя: электронную почту, Slack, PagerDuty или веб-перехватчик.
    Место назначения Укажите целевой канал в зависимости от его типа:
    • Электронная почта – адрес электронной почты, например joe@company.com.
    • Slack – URL канала Slack, например https://hooks.slack.com/services/T00000000/B00000000/XXXXX.
    • PagerDuty – код PagerDuty, например abcd1234efgh56789.
    • Вебхук – URL вебхука, например https://apigee.com/test-webhook. Описание объекта, отправляемого на URL, приведено в разделе Формат объекта webhook.

      Передавать учетные данные в URL веб-перехватчика. Пример: https://apigee.com/test-webhook?auth_token=1234_abcd.

      Вы можете указать URL конечной точки, которая может анализировать объект webhook, чтобы изменить или обработать его. Например, можно указать URL API, такого как Edge API, или любой другой конечной точки, которая может обработать объект.

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

  9. Чтобы добавить другие уведомления, повторите шаг 8.
  10. Если вы добавили уведомление, задайте следующие поля:
    Поле Описание
    Пособие для авторов (Необязательно.) Текстовое поле для краткого описания рекомендуемых действий по устранению оповещений. Вы также можете указать ссылку на внутреннюю вики-страницу или страницу сообщества, где описаны рекомендации. Информация из этого поля будет включена в уведомление. В этом поле можно ввести не более 1500 символов.
    Дроссель Частота отправки уведомлений. Выберите значение из раскрывающегося списка. Допустимые значения: 15 минут, 30 минут и 1 час.
  11. Нажмите Сохранить.

Формат объекта вебхука

Если вы укажете URL вебхука в качестве адреса для уведомления об оповещении, объект, отправленный на этот URL, будет иметь следующий формат:
{
  "alertInstanceId": "event-id",
  "alertName": "name",
  "org": "org-name",
  "description": "alert-description",
  "alertId": "alert-id",
  "alertTime": "alert-timestamp",
  "thresholdViolations":{"Count0": "Duration=threshold-duration Region=region Status Code=2xx Proxy=proxy Violation=violation-description"
  },
  "thresholdViolationsFormatted": [
    {
      "metric": "count",
      "duration": "threshold-duration",
      "proxy": "proxy",
      "region": "region",
      "statusCode": "2xx",
      "violation": "violation-description"
    }
  ],
  "playbook": "playbook-link"
}

Свойства thresholdViolations и thresholdViolationsFormatted содержат сведения об оповещении. Свойство thresholdViolations содержит строку с подробной информацией, а thresholdViolationsFormatted – объект с описанием оповещения. Обычно используется свойство thresholdViolationsFormatted, поскольку его проще декодировать.

В примере выше показано содержимое этих свойств для фиксированного оповещения, когда вы настраиваете триггер оповещения на основе кода статуса HTTP 2xx, как указано в свойстве statusCode.

Содержимое этих свойств зависит от типа оповещения, например фиксированного или аномального, и его конфигурации. Например, если вы создадите фиксированное оповещение на основе кода ошибки, то свойство thresholdViolationsFormatted будет содержать свойство faultCode, а не statusCode.

В таблице ниже перечислены все возможные свойства объекта thresholdViolationsFormatted для разных типов оповещений:

Тип оповещения Возможные нарушения пороговых значений (отформатированный контент)
Исправлено
metric, proxy, target, developerApp,
region, statusCode, faultCodeCategory, faultCodeSubCategory,
faultCode, percentile, comparisonType, thresholdValue,
triggerValue, duration, violation
Весь трафик
metric, proxy, target, developerApp,
region, comparisonType, thresholdValue, triggerValue,
duration, violation
Отклонение
metric, proxy, target, region,
statusCode, faultCode, percentile, sensitivity,
violation
Срок действия TLS
envName, certificateName, thresholdValue, violation

Как создать специальный отчет на основе оповещения

Чтобы создать специальный отчет на основе оповещения:

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

    После сохранения оповещения в интерфейсе появится следующее сообщение:

    Alert alertName saved successfully. To customize the report generated, click here.

    Нажмите на сообщение, чтобы открыть отчет в новой вкладке с заполненными полями. По умолчанию специальный отчет называется: API Monitoring Generated alertName

  2. Измените специальный отчет и нажмите Сохранить.
  3. Нажмите на название отчета в списке и создайте специальный отчет.

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

  1. В интерфейсе Edge нажмите Analyze (Анализ) > Alert Rules (Правила оповещений).
  2. Перейдите на вкладку Настройки.
  3. В столбце "Отчеты" нажмите на специальный отчет, связанный с оповещением, которым вы хотите управлять.

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

  4. Измените специальный отчет и нажмите Сохранить.
  5. Нажмите на название отчета в списке и создайте специальный отчет.

Как включить или отключить оповещение

Чтобы включить или отключить оповещение:

  1. В интерфейсе Edge нажмите Analyze (Анализ) > Alert Rules (Правила оповещений).
  2. Нажмите на переключатель в столбце "Статус" рядом с оповещением, которое вы хотите включить или отключить.

Как изменить оповещение

Чтобы изменить оповещение:

  1. В интерфейсе Edge нажмите Analyze (Анализ) > Alert Rules (Правила оповещений).
  2. Нажмите на название нужного оповещения.
  3. При необходимости измените оповещение.
  4. Нажмите Сохранить.

Как удалить оповещение

Чтобы удалить оповещение:

  1. В интерфейсе Edge нажмите Analyze (Анализ) > Alert Rules (Правила оповещений).
  2. Наведите указатель на нужное оповещение и нажмите на значок меню действий .

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

Предупреждение об ошибке Пример интерфейса Пример API
Коды статуса 5xx для всех или любых API Как настроить оповещение о коде статуса 5xx для прокси-сервера API Как настроить оповещение о коде статуса 5xx для прокси-сервера API с помощью API
Задержка P95 для прокси-сервера API Как настроить оповещение о задержке P95 для прокси-сервера API Как настроить оповещение о задержке P95 для прокси-сервера API с помощью API
Коды статуса 404 (Приложение не найдено) для всех прокси API Как настроить оповещение о коде статуса 404 (Приложение не найдено) для всех прокси API Настройте оповещение о коде статуса 404 (Приложение не найдено) для всех прокси API, использующих API
Количество прокси-серверов API для API Как настроить оповещение о количестве прокси-серверов API для API Как настроить оповещение о количестве прокси-серверов API для API, использующих API
Доля ошибок для целевых сервисов Как настроить оповещения о доле ошибок для целевых сервисов Как настроить оповещение о доле ошибок для целевых сервисов с помощью API
Доля ошибок для правил ServiceCallout (если применимо). Как настроить оповещение о доле ошибок для правила ServiceCallout Как настроить оповещение о доле ошибок для правила ServiceCallout с помощью API
Определенные коды неисправностей, в том числе:
  • Ошибки протокола API (обычно 4xx)
    • Интерфейс: Протокол API > Все
    • API:
      "faultCodeCategory":"API Protocol",
      "faultCodeSubCategory":"ALL"
  • Общие ошибки HTTP
    • Интерфейс: Шлюз > Другое > Gateway HTTPErrorResponseCode
    • API:
      "faultCodeCategory": "Gateway",
      "faultCodeSubCategory": "Others",
      "faultCodeName": "Gateway HTTPErrorResponseCode"
  • Ошибки выполнения вызова сервиса Java (если применимо).
    • Интерфейс: Execution Policy > Java Callout > JavaCallout ExecutionFailed
    • API:
      "faultCodeCategory": "Execution Policy",
      "faultCodeSubCategory": "Java Callout",
      "faultCodeName": "JavaCallout ExecutionFailed"
  • Ошибки выполнения скрипта узла (если применимо)
    • Интерфейс: Правила выполнения > Скрипт Node > NodeScript ExecutionError
    • API:
      "faultCodeCategory": "Execution Policy",
      "faultCodeSubCategory": "Node Script",
      "faultCodeName": "NodeScript ExecutionError"
  • Нарушения квот
    • Интерфейс: Правила управления трафиком > Квота > Нарушение квоты
    • API:
      "faultCodeCategory": "Traffic Mgmt Policy",
      "faultCodeSubCategory": "Quota",
      "faultCodeName": "Quota Violation"
  • Ошибки в правилах безопасности
    • Интерфейс: Правила безопасности > Любые
    • API:
      "faultCodeCategory": "Security Policy",
      "faultCodeName": "Any"
  • Ошибки распознавания (если применимо)
    • Интерфейс: Sense > Sense > Sense RaiseFault
    • API:
      "faultCodeCategory": "Sense",
      "faultCodeSubCategory": "Sense",
      "faultCodeName": "Sense RaiseFault"
  • Ошибки выполнения вызова сервиса (если применимо)
    • Интерфейс: Execution Policy (Правила выполнения) > Service Callout (Вызов сервиса) > ServiceCallout ExecutionFailed (Не удалось выполнить вызов сервиса).
    • API:
      "faultCodeCategory": "Execution Policy",
      "faultCodeSubCategory": "Service Callout",
      "faultCodeName": "ServiceCallout ExecutionFailed"
  • Ошибки целевых значений
    • Интерфейс: Gateway > Target > Gateway TimeoutWithTargetOrCallout
    • API:
      "faultCodeCategory": "Gateway",
      "faultCodeSubCategory": "Target",
      "faultCodeName": "Gateway TimeoutWithTargetOrCallout"
  • Ошибки целевых значений, нет активных целевых значений
    • Интерфейс: Gateway > Target > Gateway TargetServerConfiguredInLoadBalancersIsDown
    • API:
      "faultCodeCategory": "Gateway",
      "faultCodeSubCategory": "Target",
      "faultCodeName": "Gateway TargetServerConfiguredInLoadBalancerIsDown
  • Целевые ошибки, неожиданный конец файла
    • Интерфейс: Gateway > Target > Gateway UnexpectedEOFAtTarget
    • API:
      "faultCodeCategory": "Gateway", "faultCodeSubCategory": "Target", "faultCodeName" : "Gateway UnexpectedEOFAtTarget"
  • Ошибки виртуального хоста
    • Интерфейс: Gateway > Virtual Host > VirtualHost InvalidKeystoreOrTrustStore
    • API:
      "faultCodeCategory": "Gateway",
      "faultCodeSubCategory": "Virtual Host",
      "faultCodeName": "VirtualHost InvalidKeystoreOrTrustStore"
Как настроить оповещение о коде ошибки правил Как настроить оповещение о коде ошибки правила с помощью API

Как настроить оповещение о коде статуса 5xx для прокси-сервера API

Ниже приведен пример того, как настроить оповещение с помощью интерфейса, которое будет срабатывать, когда количество транзакций в секунду (TPS) кодов состояния 5xx для прокси-сервера API отелей превысит 100 в течение 10 минут в любом регионе. Подробнее о том, как добавлять оповещения и уведомления…

Информацию об использовании API можно найти в разделе Как настроить оповещение о коде статуса 5xx для прокси-сервера с помощью API.

Как настроить оповещение о задержке P95 для прокси-сервера API

Ниже приведен пример того, как настроить оповещение с помощью интерфейса, которое будет срабатывать, когда общая задержка ответа для 95-го процентиля превышает 100 мс в течение пяти минут для прокси-сервера API гостиниц в любом регионе. Подробнее о том, как добавлять оповещения и уведомления…

Информацию о том, как использовать API, можно найти в статье Как настроить оповещение о задержке P95 для прокси-сервера API с помощью API.

Как настроить оповещение 404 (Приложение не найдено) для всех прокси API

Ниже приведен пример того, как настроить оповещение с помощью интерфейса, которое будет срабатывать, если процент кодов статуса 404 для всех прокси API превысит 5% в течение пяти минут в любом регионе. Подробнее о том, как добавлять оповещения и уведомления…

Информацию о том, как использовать API, можно найти в разделе Как настроить оповещение "Приложение не найдено" для всех прокси API с помощью API.

Как настроить оповещение о количестве прокси-серверов API для API

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

Информацию о том, как использовать API, можно найти в разделе Как настроить оповещение о количестве прокси-серверов API для API, использующих API.

Как настроить оповещение о доле ошибок для целевых сервисов

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

Информацию об использовании API можно найти в статье Как настроить оповещение о доле ошибок для целевых сервисов с помощью API.

Как настроить оповещение о частоте ошибок для правила ServiceCallout

Ниже приведен пример того, как настроить оповещение с помощью интерфейса, которое будет срабатывать, если доля кодов 500 для сервиса, указанного в правиле ServiceCallout, превысит 10% в течение часа в любом регионе. Статьи по теме

Информацию об использовании API можно найти в разделе Как настроить оповещение о доле ошибок для правила "Вызов сервиса" с помощью API.

Как настроить оповещение о коде ошибки правил

Ниже приведен пример того, как настроить оповещение с помощью интерфейса, которое будет срабатывать, когда количество кодов ошибок JWT AlgorithmMismatch для правила VerifyJWT превысит 5 за 10 минут для всех API. Статьи по теме

Информацию об использовании API можно найти в статье Как настроить оповещение о коде ошибки правила с помощью API.