Вы просматриваете документацию по Apigee Edge.
Перейдите к документации по Apigee X. Информация
Большинство API, которые вы используете для создания и управления оповещениями об аномалиях и сбора показателей аномалий, такие же, как и для фиксированных оповещений. Следующие API оповещений работают одинаково для фиксированных и аномальных оповещений:
- Получить оповещение – получить определение оповещения о фиксированном или аномальном значении.
- Получить историю оповещений – получить показатели истории оповещений.
- Удалить оповещение – удалить определение оповещения о фиксированном значении или аномалии.
- Получить экземпляр оповещения – получить информацию о сработавшем оповещении.
- Получить количество оповещений – получить общее количество оповещений.
Однако у некоторых API есть дополнительные свойства, которые используются для поддержки оповещений об аномалиях, в том числе:
- Получать оповещения – список всех оповещений, в том числе об аномалиях и исправленных ошибках.
- Создать оповещение – создать оповещение о фиксированном значении или аномалии.
- Изменить оповещение – изменить определение оповещения об отклонении или фиксированного оповещения.
Установка $ACCESS_TOKEN
Во всех приведенных ниже вызовах API учетные данные передаются в переменной среды $ACCESS_TOKEN.
Установите для параметра $ACCESS_TOKEN токен доступа OAuth 2.0, как описано в разделе Получение токена доступа OAuth 2.0.
Информацию о параметрах cURL, используемых в этих примерах, можно найти в разделе Как использовать cURL.
Получать оповещения
По умолчанию API Get alerts возвращает информацию обо всех заданных оповещениях. Теперь этот API принимает параметры запроса, позволяющие фильтровать результаты:
enabled– если в полеtrueуказано, что нужно возвращать только включенные оповещения. Значение по умолчанию –false.alertType– указывает тип оповещения, которое нужно вернуть. Допустимые значения:runtime(по умолчанию) иcert.alertSubType– указывает подтип оповещения, который нужно вернуть. Значение по умолчанию не задано, то есть возвращаются все подтипы оповещений. Укажитеanomaly, чтобы получить оповещения об аномалиях.
Например, чтобы получить только включенные оповещения для организации с названием myorg, используйте следующий вызов API:
curl -H "Authorization: Bearer $ACCESS_TOKEN" \ 'https://apimonitoring.enterprise.apigee.com/alerts?org=myorg&enabled=true'
Следующий вызов возвращает только оповещения об отклонениях, как включенные, так и отключенные:
curl -H "Authorization: Bearer $ACCESS_TOKEN" \ 'https://apimonitoring.enterprise.apigee.com/alerts?org=myorg&alertType=runtime&alertSubType=anomaly'
Как создать или изменить оповещение об аномалии
Используйте те же API, чтобы создавать или обновлять оповещения об аномалиях, что и для фиксированных оповещений. Тело вызова API для создания или изменения оповещения об аномалии такое же, как и для фиксированного оповещения, но с указанными ниже изменениями.
Чтобы указать, что оповещение является оповещением об аномалии, необходимо добавить следующие новые свойства:
"alertType": "runtime" "alertSubType": "anomaly"
Значения по умолчанию для этих свойств:
"alertType": "runtime" "alertSubType": "fixed"
В массиве
conditions:Свойство
metricsможет принимать только следующие значения:count– оповещение о количестве ошибок HTTP.totalLatency– создать оповещение о задержке.
- Свойство
thresholdпринимает строку, а не число. Допустимые значения:slight,moderateиsevere. - Свойства
durationSecondsиcomparatorне поддерживаются.
В элементе
dimensionsмассиваconditions:- Для свойства
proxyнеобходимо задать значениеALL. - Свойство
statusCodeподдерживает только значение4xx, 503, 504, and 5xx. - Свойства
developerApp,collection,faultCodeCategory,faultCodeSubCategoryиfaultCodeNameне поддерживаются.
- Для свойства
- Свойство
reportEnabledне поддерживается для оповещений об аномалиях.
В следующем примере вызова API создается оповещение об аномалии, которое срабатывает, когда коды статуса 5xx возникают с умеренной частотой для всех прокси API в производственной среде для любого региона. При срабатывании оповещения на указанный адрес электронной почты отправляется уведомление:
curl 'https://apimonitoring.enterprise.apigee.com/alerts' \
-X POST \
-H 'Accept: application/json, text/plain, */*' -H "Content-Type: application/json" \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-d '{
"organization":"myorg",
"name":"5xx Anomaly Alert",
"description":"My 5xx alert",
"environment":"prod",
"enabled":true,
"alertType": "runtime",
"alertSubType": "anomaly",
"conditions":[
{
"description":"",
"dimensions":{
"org":"myorg",
"env":"prod",
"proxy":"ALL",
"region":"ANY",
"statusCode":"5xx"
},
"metric":"count",
"threshold": "moderate"
}
],
"notifications":[{
"channel":"email",
"destination":"ops@acme.com"
}],
"playbook":"http://acme.com/myplaybook.html",
"throttleIntervalSeconds":3600
}'
Как использовать API событий с отклонениями
Используйте API /metrics/events, чтобы получить все события в организации за определенный период времени. В список событий входят аномалии, обнаруженные Edge, и все активированные оповещения. Оповещения могут быть как фиксированными, так и аномальными.
По умолчанию API возвращает все события за предыдущий час. Чтобы задать другую продолжительность, используйте параметры запроса from и to. Значения параметров запроса from и to, чтобы указать другую продолжительность.
Например, следующий вызов API возвращает все события в организации myorg за последние 12 часов:
curl -H "Authorization: Bearer $ACCESS_TOKEN" \ "https://apimonitoring.enterprise.apigee.com/metrics/events?org=myorg&from=-12h&to=now"
Установите для параметра $ACCESS_TOKEN токен доступа OAuth 2.0, как описано в разделе Получение токена доступа OAuth 2.0. Информацию о параметрах cURL, используемых в этом примере, можно найти в разделе Как использовать cURL.
Следующий вызов возвращает все аномальные события с умеренным пороговым значением за последние 24 часа:
curl -H "Authorization: Bearer $ACCESS_TOKEN" \ "https://apimonitoring.enterprise.apigee.com/metrics/events?org=myorg&type=anomaly&threshold=moderate&from=-24h&to=now"
Для этого API требуется только параметр запроса org. Помимо параметров запроса, описанных в документации API по адресу /metrics/events, этот API поддерживает следующие варианты для обнаружения аномалий:
| Название | Описание | По умолчанию |
|---|---|---|
threshold
|
Фильтровать события по указанному порогу: Доступно, только если задано значение |
Любая степень серьезности |
type
|
Отфильтровать события по указанному типу: alert или anomaly.
Несколько значений можно добавить списком, разделенным запятыми.
|
Все типы |