Estás viendo la documentación de Apigee Edge.
Ve a la
documentación de Apigee X. info
Usa las APIs que se describen a continuación para obtener métricas de supervisión de API. Las métricas son los valores de datos que la supervisión de la API agrega a partir de los datos sin procesar que se incluyen en los registros de supervisión de la API.
En las siguientes secciones, se describe cómo administrar métricas con la API.
- APIs de Metrics
- Obtén información de fallas
- Captura métricas de tráfico y latencia
- Captura métricas para las alertas
Consulta API de Metrics para obtener más información sobre la API de métricas.
Para obtener información sobre las opciones de cURL que se usan en estos ejemplos, consulta Usa cURL.
APIs de Metrics
La URL base que usas para realizar una solicitud GET a la API de Metrics es la siguiente:
https://apimonitoring.enterprise.apigee.com/metrics/resource
En el que resource corresponde a una métrica específica. En la siguiente tabla, se enumeran los recursos de métricas:
Recurso | Descripción |
/traffic
|
Obtén métricas de tráfico. Especifica filtros, como el nombre del proxy, el intervalo, el período, el objetivo, el código de estado y muchos otros. |
/latency
|
Obtén métricas de latencia para las solicitudes
a Edge y a los destinos de backend. Especifica filtros, como el nombre del proxy, el intervalo, el objetivo, el código de estado y muchos otros. |
/targets
|
Obtén todos los dominios de destino de una organización y un entorno específicos. |
/alerthistory
|
Obtén métricas del historial de alertas para una organización y un período específicos. |
/alertinstance/instanceid
|
Obtén métricas del historial de alertas para el ID de instancia de alerta específico. |
/alertsummary
|
Obtén el recuento total de alertas de una organización y un período. |
/faultcodenames
|
Obtén todos los nombres de faultcode. |
/faultcodes
|
Obtén códigos de falla. |
/faultcodecategories
|
Obtén categorías de códigos de falla. |
/faultcodesubcategories
|
Obtén las subcategorías de los códigos de falla. |
/faultcodedetails
|
Obtén todos los códigos de falla con detalles. |
Cómo obtener información de fallas
Todos los recursos /fault*
muestran metadatos sobre las posibles fallas en Edge.
Por ejemplo, para ver la lista de todas las categorías de fallas posibles, sigue estos pasos:
curl -X GET \ "https://apimonitoring.enterprise.apigee.com/metrics/faultcodecategories" \ -H "accept: application/json" \ -H "Authorization: Bearer $ACCESS_TOKEN"
Configura $ACCESS_TOKEN
como tu token de acceso de OAuth 2.0, como se describe en Obtén un token de acceso de OAuth 2.0.
La respuesta aparece de la siguiente manera:
{
"faultCodeCategories":[
"","API Protocol","Developer/App","Extension Policy","Gateway",
"Mediation Policy","Mint","Security Policy","Sense","Traffic Mgmt Policy"
]
}
Luego, puedes determinar la lista de códigos de falla para la categoría API Protocol
:
curl -X GET \ "https://apimonitoring.enterprise.apigee.com/metrics/faultcodes?faultCodeCategory=API Protocol" \ -H "accept: application/json" \ -H "Authorization: Bearer $ACCESS_TOKEN"
Para obtener más opciones, consulta la API de Metrics.
Captura métricas de tráfico y latencia
La API de Metrics tiene filtros que puedes aplicar a la API para especificar intervalos de tiempo personalizados, proxies, regiones, entornos y otros filtros a las métricas calculadas. Por ejemplo, para ver la métrica de transacciones por segundo (tps) cada 10 minutos de la hora anterior para todos los entornos, haz lo siguiente:
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"
Configura $ACCESS_TOKEN
como tu token de acceso de OAuth 2.0, como se describe en Obtén un token de acceso de OAuth 2.0.
Esta llamada muestra los resultados de la siguiente forma:
{
"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],
…
]
},
…
}
}]
}
Observa cómo la propiedad columns
especifica el formato de values
. La propiedad values
contiene los tps calculados cada 10 minutos, para el intervalo anterior de 10 minutos.
El parámetro de consulta interval
define la frecuencia con la que se guarda la métrica en los resultados y la ventana de muestreo para el valor en los resultados. En el ejemplo anterior, la métrica se calcula durante los 10 minutos anteriores y se escribe en los resultados cada 10 minutos.
Usa los parámetros de consulta from
y to
para especificar un intervalo de tiempo con formato ISO.
La duración máxima que especifican from
y to
es de 24 horas.
El formato de fecha puede ser uno de los siguientes:
yyyy-mm-ddThh:mm:ssZ
yyyy-mm-ddThh:mm:ss+00:00
Por ejemplo:
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"
También puedes usar los parámetros de consulta from
y to
para especificar un intervalo de tiempo relativo, por ejemplo, para la última hora:
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"
Otra opción es usar el parámetro de consulta proxy
para mostrar las transacciones por segundo (tps) de un solo proxy:
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"
Para las métricas de latencia, especifica muchos de los mismos criterios que para las métricas de tráfico. Sin embargo, para el recurso /latency
:
- Debes especificar el parámetro de consulta
percentile
como50
,90
,95
o99
. Por ejemplo, si especificas90
, la API muestra el valor total de latencia de respuesta en el percentil 90. - El
windowsize
se fija en un minuto.
Por ejemplo, para ver las métricas de la latencia total en el percentil 90 durante un período de 1 minuto, haz lo siguiente:
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"
Para obtener opciones adicionales, consulta la API de Metrics.
Captura métricas para las alertas
La API de Metrics muestra métricas para todas las alertas, para una alerta específica o un resumen de alertas. Por ejemplo, para obtener el historial de alertas de una organización durante la última hora, haz lo siguiente:
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"
Configura $ACCESS_TOKEN
como tu token de acceso de OAuth 2.0, como se describe en Obtén un token de acceso de OAuth 2.0.
Esta llamada a la API muestra una respuesta con el siguiente formato:
[
{
"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"
},
…
]
Luego, puedes usar el id
en el array que se muestra para obtener información sobre una alerta específica:
curl -X GET \ "https://apimonitoring.enterprise.apigee.com/metrics/alertinstance/983c4c7a-c301-4697-95cc-9a7c53e05fac" \ -H "accept: application/json" \ -H "Authorization: Bearer $ACCESS_TOKEN"
Para obtener más opciones, consulta la API de Metrics.