Estás viendo la documentación de Apigee Edge.
Ve a la
documentación de Apigee X. info
En las siguientes secciones, se describe cómo administrar alertas con la API.
Consulta Alertas de la API para obtener más información sobre las alertas de la API.
Configura alertas y notificaciones con la API
Configura alertas y notificaciones mediante la emisión de una solicitud POST al siguiente recurso: https://apimonitoring.enterprise.apigee.com/alerts.
En las siguientes secciones, se proporcionan ejemplos de cómo configurar alertas y notificaciones con la API:
- Configura una alerta de código de estado 5xx para un proxy de API mediante la API
- Configura una alerta de latencia P95 para un proxy de API mediante la API
- Configura una alerta de código de estado 404 (Aplicación no encontrada) para todos los proxies de API con la API
- Configura una alerta de recuento de proxy de API para las API mediante la API
- Configura una alerta de tasa de error para los servicios de destino mediante la API
- Configura una alerta de tasa de error para la política ServiceCallout mediante la API
- Configura una alerta de código de error para las API mediante la API
Configura una alerta de código de estado 5xx para un proxy de API mediante la API
En el siguiente ejemplo, se muestra cómo configurar una alerta que se activa cuando los códigos de estado 5xx se producen a una tasa superior a 100 transacciones por segundo (TPS) durante 10 minutos para el proxy de API de hoteles en el entorno de producción de cualquier región. Se envía una notificación a la dirección de correo electrónico especificada cuando se activa la alerta.
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 Alert", "description":"My 5xx alert", "environment":"prod", "enabled":true, "conditions":[ { "description":"", "dimensions":{ "org":"myorg", "env":"prod", "proxy":"hotels", "region":"ANY", "statusCode":"5xx" }, "metric":"tps", "threshold":100, "durationSeconds":600, "comparator":">" } ], "notifications":[{ "channel":"email", "destination":"ops@acme.com" }], "playbook":"http://acme.com/myplaybook.html", "throttleIntervalSeconds":3600, "reportEnabled":true }'
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.
Para obtener más información sobre las opciones cURL que se usaron en este ejemplo, consulta Usa cURL.
Configura una alerta de latencia de percentil 95 para un proxy de API mediante la API
En el siguiente ejemplo, se muestra cómo configurar una alerta que se activa si la latencia de respuesta total para el percentil 95 es superior a 100 ms durante 5 minutos para el proxy de API de hotel en el entorno de producción de cualquier región.
Se envía una notificación al webhook especificado en caso de que se active la alerta.
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":"My Alert", "description":"My first alert", "environment":"prod", "enabled":true, "conditions":[ { "description":"", "dimensions":{ "org":"myorg", "env":"prod", "proxy" : "hotels", "region":"ANY", "percentile":"95" }, "metric":"totalLatency", "threshold":100, "durationSeconds":300, "comparator":">" } ], "notifications":[{ "channel":"webhook", "destination":"https://apigee.com/test-webhook"}], "playbook":"http://acme.com/myplaybook.html", "throttleIntervalSeconds":3600, "reportEnabled":true }'
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.
Para obtener más información sobre las opciones cURL que se usaron en este ejemplo, consulta Usa cURL.
Configura una alerta de código de estado 404 (Aplicación no encontrada) para todos los proxies de API con la API
En el siguiente ejemplo, se muestra cómo configurar una alerta que se activa cuando los códigos de estado HTTP 404 se producen a una tasa superior al 10% durante 5 minutos para todos los proxies de API en el entorno de producción de cualquier región.
Se envía una notificación al canal de Slack especificado cuando se activa la alerta.
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":"404 Application Not Found Alert", "description":"My 404 alert", "environment":"prod", "enabled":true, "conditions":[ { "description":"", "dimensions":{"org":"myorg", "env":"prod", "proxy":"ALL", "region":"ANY", "statusCode":"404"}, "metric":"rate", "threshold":0.05, "durationSeconds":300, "comparator":">" }], "notifications":[{ "channel":"slack", "destination":"https://hooks.slack.com/services/T00000000/B00000000/XXXXX"}], "playbook":"http://acme.com/myplaybook.html", "throttleIntervalSeconds":3600, "reportEnabled":true }'
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.
Para obtener más información sobre las opciones cURL que se usaron en este ejemplo, consulta Usa cURL.
Configura una alerta de recuento de proxy de API para las API mediante la API
A continuación, se proporciona un ejemplo de cómo configurar una alerta que se activa cuando el recuento de códigos 5xx para las API supera los 200 durante 5 minutos en cualquier región.
En este ejemplo, las API se capturan en la colección de proxies de API crítica (con UUID aeff4394-86b7-11e8-83d7-42010a840040). A fin de obtener el UUID para una colección, consulta Visualiza todas las colecciones que usan la 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":"Proxy Count Alert", "description":"My proxy count alert", "environment":"prod", "enabled":true, "conditions":[ { "description":"", "dimensions":{ "collection":"aeff4394-86b7-11e8-83d7-42010a840040", "org":"myorg", "env":"prod", "proxy" : "ANY", "region":"ANY", "statusCode":"5xx" }, "metric":"count", "threshold":200, "durationSeconds":300, "comparator":">" } ], "notifications":[{ "channel":"email", "destination":"ops@acme.com" }], "playbook":"http://acme.com/myplaybook.html", "throttleIntervalSeconds":3600, "reportEnabled":true }'
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.
Para obtener más información sobre las opciones cURL que se usaron en este ejemplo, consulta Usa cURL.
Configura una alerta de tasa de error para los servicios de destino mediante la API
A continuación, se proporciona un ejemplo de cómo configurar una alerta que se activa cuando la tasa de código 500 para los servicios de destino supera el 10% durante 1 hora para cualquier región.
En este ejemplo, los servicios de destino se capturan en la colección de objetivos críticos (con UUID aeff4394-86b7-11e8-83d7-42010a840040). A fin de obtener el UUID para una colección, consulta Visualiza todas las colecciones que usan la 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":"Error rate Alert", "description":"My error rate alert", "environment":"prod", "enabled":true, "conditions":[ { "description":"", "dimensions":{ "collection":"aeff4394-86b7-11e8-83d7-42010a840040", "org":"myorg", "env":"prod", "proxy" : "ANY", "region":"ANY", "statusCode":"500" }, "metric":"rate", "threshold":0.1, "durationSeconds":3600, "comparator":">" } ], "notifications":[{ "channel":"email", "destination":"ops@acme.com" }], "playbook":"http://acme.com/myplaybook.html", "throttleIntervalSeconds":3600, "reportEnabled":true }'
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.
Para obtener más información sobre las opciones cURL que se usaron en este ejemplo, consulta Usa cURL.
Configura una alerta de tasa de error para la política ServiceCallout mediante la API
A continuación, se muestra un ejemplo de cómo configurar una alerta que se activa cuando la tasa de código 500 para el servicio especificada por la política de ServiceCallout supera el 10% durante 1 hora para cualquier región.
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":"Error rate Alert", "description":"My error rate alert", "environment":"prod", "enabled":true, "conditions":[ { "description":"", "dimensions":{ "target": "sc://docstore-api", "org":"myorg", "env":"prod", "proxy" : "ANY", "region":"ANY", "statusCode":"500" }, "metric":"rate", "threshold":0.1, "durationSeconds":3600, "comparator":">" } ], "notifications":[{ "channel":"email", "destination":"ops@acme.com" }], "playbook":"http://acme.com/myplaybook.html", "throttleIntervalSeconds":3600, "reportEnabled":true }'
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.
Para obtener más información sobre las opciones cURL que se usaron en este ejemplo, consulta Usa cURL.
Configura una alerta de código de error de política mediante la API
En el ejemplo siguiente, se muestra cómo configurar una alerta que se active cuando se cumpla una de las siguientes condiciones:
SpikeArrestViolation
el recuento de códigos de error es mayor que 10 durante 5 minutos para las API en el entorno de producción de cualquier región.- El recuento de todos los códigos de falla del protocolo de la API es superior al 3% durante 5 minutos para las API en el entorno de producción de cualquier región.
En este ejemplo, las API se capturan en la colección de proxies de API crítica (con UUID aeff4394-86b7-11e8-83d7-42010a840040). A fin de obtener el UUID para una colección, consulta Visualiza todas las colecciones que usan la API.
Se envía una notificación al código de PagerDuty especificado cuando se activa la alerta.
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":"My Fault Code Alert", "description":"My fault code alert", "environment":"prod", "enabled":true, "conditions":[ { "description":"", "dimensions": { "collection":"aeff4394-86b7-11e8-83d7-42010a840040", "org":"myorg", "env":"prod", "proxy":"ANY", "region":"ANY", "faultCodeCategory":"Traffic Mgmt Policy", "faultCodeSubCategory":"Spike Arrest", "faultCodeName":"SpikeArrest Violation" }, "metric":"count, "threshold":10, "durationSeconds":300, "comparator":">" }, { "description":"", "dimensions": { "collection":"aeff4394-86b7-11e8-83d7-42010a840040", "org":"myorg", "env":"prod", "proxy":"ANY", "region":"ANY", "faultCodeCategory":"API Protocol", "faultCodeSubCategory":"ALL" }, "metric":"rate", "threshold":0.03, "durationSeconds":300, "comparator":">" } ], "notifications":[{ "channel":"pagerduty", "destination":"abcd1234efgh56789"}], "playbook":"http://acme.com/myplaybook.html", "throttleIntervalSeconds":3600, "reportEnabled":true }'
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.
Para obtener más información sobre las opciones cURL que se usaron en este ejemplo, consulta Usa cURL.
Visualiza alertas y notificaciones
En las siguientes secciones, se proporcionan ejemplos de cómo ver definiciones de alertas e información sobre alertas activadas mediante la API:
- Visualiza todas las definiciones de alertas para una organización
- Visualiza una definición de alerta específica
- Visualiza el historial de alertas activadas de una organización
- Visualiza el historial de una alerta específica
Visualiza todas las definiciones de alertas para una organización
Visualiza todas las definiciones de alertas y notificaciones mediante una solicitud GET enviada a la siguiente API: https://apimonitoring.enterprise.apigee.com/alerts.
Debes pasar el nombre de tu organización con el parámetro de consulta org
.
Por ejemplo:
curl 'https://apimonitoring.enterprise.apigee.com/alerts?org=myorg' -X GET -H 'Accept: application/json, text/plain, */*' -H "Authorization: Bearer $ACCESS_TOKEN"
El UUID de la alerta se muestra en el campo uuid
de la respuesta. Necesitas este UUID para realizar llamadas a fin de determinar la información específica de una definición de alerta. A continuación, se proporciona un ejemplo de la respuesta:
[ { "uuid": "4fa49a87-3463023ea7c4", "name": "PublicAPI latency alert", "enabled": true, "description": "Public API Latency alerts, 90th %ile > 6secs for 5 minute window trigger this alert", "conditions": [ { "uuid": "4fa49a87-3463023ea7c4", "description": "", "dimensions": { "env": "prod", "org": "myorg", "percentile": "90", "proxy": "PublicAPI", "region": "ANY" }, "metric": "totalLatency", "threshold": 6000, "durationSeconds": 300, "comparator": ">", "updatedBy": "me@foo.com" } ], "playbook": "PublicAPI Latency alert, setup to go off when 90th %ile is > 4 secs for 5 minute window", "throttleIntervalSeconds": 3600, "self": "/alerts/4fa49a87-3463023ea7c4", "feed": "/o/myorg/events/4fa49a87-3463023ea7c4", "organization": "myorg", "environment": "prod", "notifications": [ { "channel": "email", "destination": "me@foo.com" } ], "updatedAt": "2018-07-19T18:19:31.654738Z", "updatedBy": "me@foo.com" }, { "uuid": "ef1a5249-345ed3023ea7c4", "name": "Minty API Latency alert", "enabled": true, "description": "Minty API Latency alerts, 90th %ile > 6secs for 5 minute window trigger this alert", "conditions": [ { "uuid": "ef1a5249-345ed3023ea7c4", "description": "", "dimensions": { "env": "prod", "org": "myorg", "percentile": "90", "proxy": "minty", "region": "ANY" }, "metric": "totalLatency", "threshold": 6000, "durationSeconds": 300, "comparator": ">", "updatedBy": "me@foo.com" } ], "playbook": "Minty API", "throttleIntervalSeconds": 3600, "self": "/alerts/ef1a5249-345ed3023ea7c4", "feed": "/o/myorg/events/ef1a5249-345ed3023ea7c4", "organization": "myorg", "environment": "prod", "notifications": [ { "channel": "email", "destination": "me@foo.com" } ], "updatedAt": "2018-07-19T18:19:33.22479Z", "updatedBy": "me@foo.com" }, ... ]
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.
Para obtener más información sobre las opciones cURL que se usaron en este ejemplo, consulta Usa cURL.
Visualiza una definición de alerta específica
Visualiza una definición de alerta específica mediante la emisión de una solicitud GET al siguiente recurso:https://apimonitoring.enterprise.apigee.com/alerts/alert_uuid Aquí, alert_uuid especifica el UUID de la definición de la alerta. Obtén el UUID cuando creas la alerta o usa la llamada a la API que se muestra en la sección anterior para enumerar todas las alertas y su UUID asociado.
Por ejemplo:
curl 'https://apimonitoring.enterprise.apigee.com/alerts/4fa49a87-3463023ea7c4' -X GET -H 'Accept: application/json, text/plain, */*' -H "Authorization: Bearer $ACCESS_TOKEN"
A continuación, se proporciona un ejemplo de la respuesta.
{ "uuid": "4fa49a87-3463023ea7c4", "name": "PublicAPI latency alert", "enabled": true, "description": "Public API Latency alerts, 90th %ile > 6secs for 5 minute window trigger this alert", "conditions": [ { "uuid": "4fa49a87-3463023ea7c4", "description": "", "dimensions": { "env": "prod", "org": "myorg", "percentile": "90", "proxy": "PublicAPI", "region": "ANY" }, "metric": "totalLatency", "threshold": 6000, "durationSeconds": 300, "comparator": ">", "updatedBy": "me@foo.com" } ], "playbook": "PublicAPI Latency alert, setup to go off when 90th %ile is > 4 secs for 5 minute window", "throttleIntervalSeconds": 3600, "self": "/alerts/4fa49a87-3463023ea7c4", "feed": "/o/myorg/events/4fa49a87-3463023ea7c4", "organization": "myorg", "environment": "prod", "notifications": [ { "channel": "email", "destination": "me@foo.com" } ], "updatedAt": "2018-07-19T18:19:31.654738Z", "updatedBy": "me@foo.com" }
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.
Para obtener más información sobre las opciones cURL que se usaron en este ejemplo, consulta Usa cURL.
Visualiza el historial de todas las alertas activadas de una organización
Visualiza el historial de todas las alertas activadas para una organización mediante la emisión de una solicitud GET al siguiente recurso: https://apimonitoring.enterprise.apigee.com/metrics/alerthistory.
Debes pasar el nombre de tu organización con el parámetro de consulta org
.
De forma opcional, puedes especificar un período que se use para buscar alertas activadas. Según la configuración predeterminada, se muestran todas las alertas activadas en la última hora.
Por ejemplo:
curl 'https://apimonitoring.enterprise.apigee.com/metrics/alerthistory?org=myorg' -X GET -H 'Accept: application/json, text/plain, */*' -H "Authorization: Bearer $ACCESS_TOKEN"
La respuesta contiene un array de todas las alertas activadas durante el período solicitado.
En el cuerpo de la respuesta, el campo id
especifica el UUID de la alerta activada y el campo shared_id
especifica el UUID de la definición de alerta asociada a la alerta activada.
A continuación, se proporciona un ejemplo de la respuesta.
[ { "id": "80cbe560-f6e0-475c6f7ed2d", "shared_id": "4fa49a87-3463023ea7c4", "organization": "myorg", "environment": "prod", "name": "PublicAPI latency alert", "type": "Alert", "source": "null/current", "raw_payload": "{\"reportUUID\":\"\",\"reportEnabled\":false,\"organization\":\"myorg\",\"name\":\"emgmt-api 404\",\"self\":\"/alerts/4fa49a87-3463023ea7c4\",\"description\":\"go/apigee-extensions-playbook\",\"conditions\":[ {\"comparator\":\">\",\"metric\":\"rate\",\"durationSeconds\":300,\"name\":\"PublicAPI latency alert\",\"description\":\"\",\"threshold\":0.05,\"dimensions\":{\"proxy\":\"emgmt-api\",\"org\":\"myorg\",\"env\":\"prod\",\"region\":\"any\",\"statusCode\":\"404\"}}],\"uuid\":\"4fa49a87-3463023ea7c4\",\"playbook\":\"go/apigee-extensions-playbook\"}", "time": "2019-03-25T15:30:18Z" }, { "id": "8131d740-6680-45b9c72c3", "shared_id": "1a64885b-f9-42010a850039", "organization": "apigee-pinpoint", "environment": "prod", "name": "Demo 5xx alert", "type": "Alert", "source": "null/current", "raw_payload": "{\"reportUUID\":\"\",\"reportEnabled\":false,\"organization\":\"myorg\",\"name\":\"Demo 5xx alert\",\"self\":\"/alerts/1a64885b-f9-42010a850039\",\"description\":\"Demo 5xx alert\",\"conditions\":[ {\"comparator\":\">\",\"metric\":\"rate\",\"durationSeconds\":300,\"name\":\"Demo 5xx alert\",\"description\":\"\",\"threshold\":0.4,\"dimensions\":{\"proxy\":\"ALL\",\"org\":\"myorg\",\"env\":\"prod\",\"region\":\"any\",\"statusCode\":\"5xx\"}}],\"uuid\":\"1a64885b-f9-42010a850039\",\"playbook\":\"Recommended Playbook\"}", "time": "2019-03-25T15:57:30Z" }, ... ]
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.
Para obtener más información sobre las opciones cURL que se usaron en este ejemplo, consulta Usa cURL.
Visualiza el historial de una alerta específica
Visualiza el historial de alertas activadas para una definición de alerta específica mediante la emisión de una solicitud GET al siguiente recurso: https://apimonitoring.enterprise.apigee.com/metrics/alerthistory.
Debes pasar el nombre de tu organización mediante el parámetro de consulta org
y el UUID de la definición de la alerta. De forma opcional, puedes especificar un período que se use para buscar alertas. Según la configuración predeterminada, se muestran todas las alertas activadas en la última hora.
Puedes obtener el UUID de definición de alertas del historial de alertas como se muestra en la sección anterior, cuando creaste la definición de la alerta o mediante la llamada a la API que se muestra en Visualiza todas las definiciones de alertas.
Por ejemplo:
curl 'https://apimonitoring.enterprise.apigee.com/metrics/alerthistory?org=myorg&alertId=4fa49a87-3463023ea7c4' -X GET -H 'Accept: application/json, text/plain, */*' -H "Authorization: Bearer $ACCESS_TOKEN"
La respuesta contiene un array de todas las alertas activadas durante el período solicitado para el UUID de definición de alerta específico. En el cuerpo de la respuesta, el campo id
especifica el UUID de la alerta activada y el campo shared_id
especifica el UUID de la definición de alerta asociada a la alerta activada.
A continuación, se proporciona un ejemplo de la respuesta.
[ { "id": "80cbe560-f6e0-475c6f7ed2d", "shared_id": "4fa49a87-3463023ea7c4", "organization": "myorg", "environment": "prod", "name": "PublicAPI latency alert", "type": "Alert", "source": "null/current", "raw_payload": "{\"reportUUID\":\"\",\"reportEnabled\":false,\"organization\":\"myorg\",\"name\":\"emgmt-api 404\",\"self\":\"/alerts/4fa49a87-3463023ea7c4\",\"description\":\"go/apigee-extensions-playbook\",\"conditions\":[ {\"comparator\":\">\",\"metric\":\"rate\",\"durationSeconds\":300,\"name\":\"PublicAPI latency alert\",\"description\":\"\",\"threshold\":0.05,\"dimensions\":{\"proxy\":\"emgmt-api\",\"org\":\"myorg\",\"env\":\"prod\",\"region\":\"any\",\"statusCode\":\"404\"}}],\"uuid\":\"4fa49a87-3463023ea7c4\",\"playbook\":\"go/apigee-extensions-playbook\"}", "time": "2019-03-25T15:30:18Z" }, { "id": "9fc442d5-d607-40ef118c4e7", "shared_id": "4fa49a87-3463023ea7c4", "organization": "myorg", "environment": "prod", "name": "PublicAPI latency alert", "type": "Alert", "source": "null/current", "raw_payload": "{\"reportUUID\":\"\",\"reportEnabled\":false,\"organization\":\"myorg\",\"name\":\"emgmt-api 404\",\"self\":\"/alerts/4fa49a87-3463023ea7c4\",\"description\":\"go/apigee-extensions-playbook\",\"conditions\":[{\"comparator\":\">\",\"metric\":\"rate\",\"durationSeconds\":300,\"name\":\"PublicAPI latency alert\",\"description\":\"\",\"threshold\":0.05,\"dimensions\":{\"proxy\":\"emgmt-api\",\"org\":\"myorg\",\"env\":\"prod\",\"region\":\"any\",\"statusCode\":\"404\"}}],\"uuid\":\"4fa49a87-3463023ea7c4\",\"playbook\":\"go/apigee-extensions-playbook\"}", "time": "2019-03-25T15:17:55Z" }, ... ]
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.
Para obtener más información sobre las opciones cURL que se usaron en este ejemplo, consulta Usa cURL.