Вы просматриваете документацию Apigee Edge .
Перейдите к документации Apigee X. информация
Используйте API, описанные ниже, для получения показателей мониторинга API. Метрики — это значения данных, агрегированные функцией мониторинга API из необработанных данных, содержащихся в журналах мониторинга API.
В следующих разделах описывается, как управлять метриками с помощью API.
- API метрик
- Получить информацию о неисправности
- Сбор показателей трафика и задержки
- Сбор показателей для оповещений
Дополнительную информацию об API метрик см. в разделе API метрик.
Сведения о параметрах cURL, используемых в этих примерах, см. в разделе Использование cURL .
API метрик
Базовый URL-адрес, который вы используете для отправки запроса GET к API метрик:
https://apimonitoring.enterprise.apigee.com/metrics/resource
Где resource соответствует определенной метрике. В следующей таблице перечислены ресурсы метрик:
Ресурс | Описание |
/traffic | Получите показатели трафика. Укажите такие фильтры, как имя прокси, интервал, временное окно, цель, код состояния и многие другие. |
/latency | Получение показателей задержки для запросов для Edge и для серверных целей. Укажите фильтры, такие как имя прокси, интервал, цель, код состояния и многие другие. |
/targets | Получите все целевые домены для конкретной организации и среды. |
/alerthistory | Получите показатели истории оповещений для конкретной организации и временного окна. |
/alertinstance/ instanceid | Получите метрики истории предупреждений для конкретного идентификатора экземпляра оповещения. |
/alertsummary | Получите общее количество оповещений для организации и временного окна. |
/faultcodenames | Получите все имена кодов неисправностей. |
/faultcodes | Получите коды неисправностей. |
/faultcodecategories | Получите категории кодов неисправностей. |
/faultcodesubcategories | Получите подкатегории кодов неисправностей. |
/faultcodedetails | Получите все коды неисправностей с подробностями. |
Получить информацию о неисправности
Все ресурсы /fault*
возвращают метаданные о возможных ошибках в Edge. Например, чтобы просмотреть список всех возможных категорий неисправностей:
curl -X GET \ "https://apimonitoring.enterprise.apigee.com/metrics/faultcodecategories" \ -H "accept: application/json" \ -H "Authorization: Bearer $ACCESS_TOKEN"
Установите $ACCESS_TOKEN
свой токен доступа OAuth 2.0, как описано в разделе «Получение токена доступа OAuth 2.0» .
Ответ выглядит следующим образом:
{
"faultCodeCategories":[
"","API Protocol","Developer/App","Extension Policy","Gateway",
"Mediation Policy","Mint","Security Policy","Sense","Traffic Mgmt Policy"
]
}
Затем вы можете определить список кодов ошибок для категории API Protocol
:
curl -X GET \ "https://apimonitoring.enterprise.apigee.com/metrics/faultcodes?faultCodeCategory=API Protocol" \ -H "accept: application/json" \ -H "Authorization: Bearer $ACCESS_TOKEN"
Дополнительные параметры см. в разделе API метрик .
Сбор показателей трафика и задержки
В API метрик есть фильтры, которые вы можете применить к API, чтобы указать собственные диапазоны времени, прокси, регионы, среды и другие фильтры для вычисляемых показателей. Например, чтобы просмотреть показатель количества транзакций в секунду (tps) каждые 10 минут за предыдущий час для всех сред:
curl -X GET \ "https://apimonitoring.enterprise.apigee.com/metrics/traffic?from=-1h&to=now&select=tps&interval=10m&groupBy=env&org=myorg" \ -H "accept: application/json" \ -H "Authorization: Bearer $ACCESS_TOKEN"
Установите $ACCESS_TOKEN
свой токен доступа OAuth 2.0, как описано в разделе «Получение токена доступа OAuth 2.0» .
Этот вызов возвращает результаты в форме:
{
"results":[
{
"series":[
{
"name":"proxy",
"tags":
{
"env":"prod",
"intervalSeconds":"60",
"org":"myorg",
"region":"myregion"
},
"columns":["time","tps"],
"values":[
["2018-08-15T13:10:00Z",5.03],
["2018-08-15T13:20:00Z",5.01],
["2018-08-15T13:30:00Z",5.81],
["2018-08-15T13:40:00Z",5.95],
…
]
},
…
}
}]
}
Обратите внимание, как свойство columns
определяет формат values
. Свойство values
содержит значение tps, рассчитываемое каждые 10 минут для предыдущего 10-минутного интервала.
Параметр запроса interval
определяет частоту сохранения метрики в результатах и окно выборки для значения в результатах. В приведенном выше примере метрика рассчитывается за предыдущие 10 минут и записывается в результаты каждые 10 минут.
Используйте параметры запроса from
и to
чтобы указать диапазон времени в формате ISO. Максимальная продолжительность, указанная from
и to
составляет 24 часа.
Формат даты может быть любым:
-
yyyy-mm-dd T hh:mm:ss Z
-
yyyy-mm-dd T hh:mm:ss +00:00
Например:
curl -X GET \ "https://apimonitoring.enterprise.apigee.com/metrics/traffic?from=2018-08-13T14%3A04%3A00Z&to=2018-08-13T14%3A10%3A00Z&select=tps&interval=1m&groupBy=env&org=myorg&proxy=PublicAPI" \ -H "accept: application/json" \ -H "Authorization: Bearer $ACCESS_TOKEN"
Или используйте параметры запроса from
и to
чтобы указать относительный диапазон времени, например, за последний час:
curl -X GET \ "https://apimonitoring.enterprise.apigee.com/metrics/traffic?from=-1h&to=now&select=tps&interval=1m&groupBy=env&org=myorg&proxy=PublicAPI" \ -H "accept: application/json" \ -H "Authorization: Bearer $ACCESS_TOKEN"
Другой вариант — использовать параметр запроса proxy
для отображения транзакций в секунду (tps) для одного прокси:
curl -X GET \ "https://apimonitoring.enterprise.apigee.com/metrics/traffic?from=-1h&to=now&select=tps&interval=1m&groupBy=env&org=myorg&proxy=PublicAPI" \ -H "accept: application/json" \ -H "Authorization: Bearer $ACCESS_TOKEN"
Для показателей задержки укажите многие из тех же критериев, что и для показателей трафика. Однако для ресурса /latency
:
- Вы должны указать параметр запроса
percentile
как50
,90
,95
или99
. Например, если вы укажете90
, API вернет значение общей задержки ответа в 90-м процентиле. -
windowsize
фиксируется на уровне одной минуты.
Например, чтобы просмотреть показатели общей задержки в 90-м процентиле для окна длительностью в 1 минуту:
curl -X GET \ "https://apimonitoring.enterprise.apigee.com/metrics/latency?percentile=90&select=totalLatency&from=-1h&to=now&interval=5m&windowsize=1m&groupBy=org,env,region&org=myorg" \ -H "accept: application/json" \ -H "Authorization: Bearer $ACCESS_TOKEN"
Дополнительные параметры см. в разделе Metrics API .
Сбор показателей для оповещений
API метрик возвращает метрики для всех оповещений, для конкретного оповещения или сводки оповещений. Например, чтобы получить историю оповещений организации за последний час:
curl -X GET \ "https://apimonitoring.enterprise.apigee.com/metrics/alerthistory?org=myorg&from=-1h&to=now" \ -H "accept: application/json" \ -H "Authorization: Bearer $ACCESS_TOKEN"
Установите $ACCESS_TOKEN
свой токен доступа OAuth 2.0, как описано в разделе «Получение токена доступа OAuth 2.0» .
Этот вызов API возвращает ответ в форме:
[
{
"id":"983c4c7a-c301-4697-95cc-9a7c53e05fac",
"organization":"myorg",
"environment":"prod",
"name":"Public Api 5xx error rate",
"type":"Alert",
"source":"https://www.apigee.net/sonar",
"raw_payload":"
{
\"reportUUID\":\"\",
\"reportEnabled\":false,
\"organization\":\"myorg\",
\"name\":\"Public Api 5xx error rate\",
\"self\":\"/alerts/95cc9ef4-345f-11e8-9fd3-12774584e062\",
\"description\":\"\",
\"conditions\":[
{
\"comparator\":\"\u003e\",
\"metric\":\"rate\",
\"durationSeconds\":3600,
\"name\":\"\",
\"description\":\"\",
\"threshold\":0.01,
\"dimensions\":
{
\"proxy\":\"myAPI\",
\"org\":\"myorg\",
\"env\":\"prod\",
\"region\":\"myRegion\",
\"statusCode\":\"5xx\"
}
}],
\"uuid\":\"95cc9ef4-345f-11e8-9fd3-12774584e062\",
\"playbook\":\"This is a test alert.\"
}",
"time":"2018-08-14T12:45:28Z"
},
…
]
Затем вы можете использовать id
в возвращенном массиве, чтобы получить информацию о конкретном предупреждении:
curl -X GET \ "https://apimonitoring.enterprise.apigee.com/metrics/alertinstance/983c4c7a-c301-4697-95cc-9a7c53e05fac" \ -H "accept: application/json" \ -H "Authorization: Bearer $ACCESS_TOKEN"
Дополнительные параметры см. в разделе API метрик .