Настройка предупреждений и уведомлений

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

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

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

На следующем рисунке показано, как оповещения отображаются в пользовательском интерфейсе:

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

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

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

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

О типах оповещений

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

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

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

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

  • Оповещения об общем трафике (бета) . Тип оповещения, позволяющий выдавать оповещение при изменении трафика на указанный процент в течение определенного периода времени.
  • Оповещения об аномалиях (бета-версии) . Тип оповещения, при котором Edge обнаруживает проблемы с трафиком и производительностью вместо того, чтобы вам приходилось определять их самостоятельно. Затем вы можете поднять оповещение об этих аномалиях.
  • Оповещения об истечении срока действия TLS (бета-версия) . Тип оповещения, который позволяет выдавать уведомления, когда срок действия сертификата TLS близок к истечению.

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

Диалоговое окно создания оповещения теперь имеет несколько типов оповещений.

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

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

Отобразится страница оповещения, как показано на следующем рисунке:

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

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

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

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

Откроется страница истории предупреждений.

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

Щелкните имя оповещения, чтобы просмотреть подробные сведения о нем на панели «Расследование» . Вы можете отфильтровать список, выполнив поиск по всему названию оповещения или его части.

Добавляйте оповещения и уведомления

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

  1. Нажмите «Анализ» > «Правила оповещений» в пользовательском интерфейсе Edge.
  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 игнорирует любые переписанные коды и регистрирует фактические коды ответов HTTP.
    • Задержка : выберите значение задержки из раскрывающегося списка. В частности: p50 (50-й процентиль), p90 (90-й процентиль), p95 (95-й процентиль) или p99 (99-й процентиль). Например, выберите p95, чтобы настроить оповещение, которое срабатывает, когда задержка ответа для 95-го процентиля превышает пороговое значение, которое вы установили ниже.
    • Код неисправности : выберите категорию, подкатегорию и код неисправности из списка. Или выберите один из следующих вариантов в категории или подкатегории:

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

      Дополнительную информацию см. в разделе «Справочник по кодам неисправностей» .

    • Общий трафик (бета) : выберите увеличение или уменьшение трафика. Дополнительную информацию см. в разделе «Уведомления о пробках (бета-версия)» .

    Порог

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

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

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

    • Все — все сущности в измерении должны соответствовать критериям метрики. Вы не можете выбрать Все для метрики типа Latency .
    • Любой — применимо только к региону. Сущность в измерении должна соответствовать критериям метрики для любого отдельного региона.
      Примечание . Для прокси-серверов API или целевых служб выберите коллекцию для поддержки любых функций.
    • Коллекции — выберите коллекцию из списка, чтобы указать набор прокси-серверов API или целевых служб. В этом случае любая сущность в коллекции должна соответствовать критериям.

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

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

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

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

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

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

    Дополнительные сведения см. в разделе Создание пользовательского отчета на основе оповещения .

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

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

      Передайте любую учетную информацию в URL-адрес веб-перехватчика. Например: https://apigee.com/test-webhook?auth_token=1234_abcd .

      Вы можете указать URL-адрес конечной точки, которая сможет проанализировать объект веб-перехватчика для его изменения или обработки. Например, вы можете указать 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.
  2. Откройте вкладку «Настройки» .
  3. В столбце «Отчеты» щелкните настраиваемый отчет, связанный с оповещением, которым вы хотите управлять.

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

  4. Отредактируйте пользовательский отчет по своему усмотрению и нажмите « Сохранить» .
  5. Щелкните имя отчета в списке и запустите пользовательский отчет .

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

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

  1. Нажмите «Анализ» > «Правила оповещений» в пользовательском интерфейсе Edge.
  2. Нажмите переключатель в столбце «Состояние», связанный с оповещением, которое вы хотите включить или отключить.

Редактировать оповещение

Чтобы отредактировать оповещение:

  1. Нажмите «Анализ» > «Правила оповещений» в пользовательском интерфейсе Edge.
  2. Нажмите на название оповещения, которое хотите изменить.
  3. При необходимости отредактируйте оповещение.
  4. Нажмите Сохранить .

Удаление оповещения

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

  1. Нажмите «Анализ» > «Правила оповещений» в пользовательском интерфейсе Edge.
  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
    • Пользовательский интерфейс: Шлюз > Другое > Шлюз HTTPErrorResponseCode.
    • API:
      "faultCodeCategory": "Gateway",
      "faultCodeSubCategory": "Others",
      "faultCodeName": "Gateway HTTPErrorResponseCode"
  • Ошибки выполнения вызова службы Java (если применимо)
    • Пользовательский интерфейс: Политика выполнения > Выноска Java > JavaCallout ExecutionFailed
    • API:
      "faultCodeCategory": "Execution Policy",
      "faultCodeSubCategory": "Java Callout",
      "faultCodeName": "JavaCallout ExecutionFailed"
  • Ошибки выполнения сценария узла (если применимо)
    • Пользовательский интерфейс: Политика выполнения > Скрипт узла > 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"
  • Ошибки выполнения вызова службы (если применимо)
    • Пользовательский интерфейс: Политика выполнения > Вызов службы > ServiceCallout ExecutionFailed
    • API:
      "faultCodeCategory": "Execution Policy",
      "faultCodeSubCategory": "Service Callout",
      "faultCodeName": "ServiceCallout ExecutionFailed"
  • Целевые ошибки
    • Пользовательский интерфейс: Шлюз > Цель > Шлюз TimeoutWithTargetOrCallout
    • API:
      "faultCodeCategory": "Gateway",
      "faultCodeSubCategory": "Target",
      "faultCodeName": "Gateway TimeoutWithTargetOrCallout"
  • Ошибки цели, нет активных целей
    • Пользовательский интерфейс: Шлюз > Цель > Шлюз TargetServerConfiguredInLoadBalancersIsDown
    • API:
      "faultCodeCategory": "Gateway",
      "faultCodeSubCategory": "Target",
      "faultCodeName": "Gateway TargetServerConfiguredInLoadBalancerIsDown
  • Целевые ошибки, неожиданный EOF
    • Пользовательский интерфейс: Шлюз > Цель > Шлюз UnexpectedEOFAtTarget
    • API:
      "faultCodeCategory": "Gateway", "faultCodeSubCategory": "Target", "faultCodeName" : "Gateway UnexpectedEOFAtTarget"
  • Ошибки виртуального хоста
    • Пользовательский интерфейс: Шлюз > Виртуальный хост > 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 мс в течение 5 минут для прокси-сервера API отелей для любого региона. Дополнительную информацию см. в разделе Добавление оповещений и уведомлений .

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

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

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

Дополнительные сведения об использовании API см . в разделе Настройка оповещения 404 (приложение не найдено) для всех прокси-серверов API, использующих API .

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

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

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

Настройте оповещение о частоте ошибок для целевых служб.

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

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

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

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

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

Настройка оповещения о коде ошибки политики

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

Дополнительные сведения об использовании API см. в разделе Настройка оповещения о коде ошибки для кода ошибки политики с помощью API .