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

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

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

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

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

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

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

  • Чтобы просмотреть подробную информацию, включая настройки оповещений и активность по каждому условию за последний час, перейдите в раздел «Подробности» .
  • Определение оповещения: чтобы просмотреть определение оповещения.
  • Чтобы просмотреть подробную информацию о конкретном оповещении, воспользуйтесь историей оповещений .
  • Чтобы ознакомиться с рекомендуемыми действиями (если таковые имеются), просмотрите руководство .
  • Чтобы просмотреть пользовательский отчет по условиям оповещения , перейдите в раздел «Аналитика API» .

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

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

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

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

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

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

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

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

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

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

На странице «Предупреждение» отображается следующее сообщение, как показано на рисунке ниже:

Уведомление по электронной почте

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

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

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

Отображается страница «История оповещений».

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

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

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

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

  1. В пользовательском интерфейсе Edge нажмите «Анализировать» > «Правила оповещений» .
  2. Нажмите +Alert .
  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-прокси, целевую службу или приложение разработчика, а также регион.

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

    • Все — Все объекты в измерении должны соответствовать критериям метрики. Нельзя выбрать «Все» для метрики типа «Задержка» .
    • Любой — применимо только к региону. Объект в измерении должен соответствовать критериям метрики для любого отдельного региона.
      Примечание : Для 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-адрес, см. в разделе «Формат объекта веб-перехватчика» .

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