Configura alertas y notificaciones

Estás consultando la documentación de Apigee Edge.
Consulta la documentación de Apigee X.
Información

Las condiciones de alerta definen un código de estado específico (por ejemplo, 404/502/2xx/4xx/5xx), latencia y límites de código de falla que indican cuando se excedieron las alertas visuales en la IU y envían notificaciones a través de una variedad de canales, como correo electrónico, Slack, PagerDuty o webhooks. Puedes configurar alertas en el entorno, el proxy de API o el servicio de destino, o en la región. Cuando se activa una alerta, recibirás una notificación con el método que definiste en el momento de agregar alertas y notificaciones.

Por ejemplo, es posible que desees activar una alerta y enviar una notificación al equipo de operaciones cuando la tasa de error 5xx supere el 23% durante un período de 5 minutos para el proxy de la API de pedidos-prod implementado en tu entorno de producción.

En la siguiente figura, se observa cómo se muestran las alertas en la IU:

En el siguiente ejemplo, se proporciona una notificación por correo electrónico que puedes recibir cuando se activa una alerta.

Dentro del cuerpo de la notificación de alerta, haz clic en los siguientes vínculos para obtener más información:

  • Consulta los detalles para consultar más detalles, como la configuración de alertas y la actividad de cada condición en la última hora.
  • Definición de alerta para ver cómo se define la alerta.
  • Historial de alertas Permite ver más información sobre la alerta en particular.
  • Consulta la guía para ver las acciones recomendadas, si se proporciona.
  • Consulta el informe de estadísticas de la API para ver un informe personalizado de la condición de alerta.

En las siguientes secciones, se describe cómo configurar y administrar alertas y notificaciones.

Información acerca de los tipos de alertas

La versión inicial de API Monitoring te permite crear reglas basadas en patrones que especifican cuándo generar una alerta en función de un conjunto de condiciones predefinidas. Estos tipos de alertas se denominaban alertas fijas y eran el único tipo de alertas admitidos en la versión inicial de API Monitoring.

Por ejemplo, puedes generar una alerta fija cuando se da lo siguiente:

  • [tasa de errores 5xx] [es mayor que] [10%] durante [10 minutos] [destino mytarget1]
  • [recuento de errores 2xx] [es inferior a] [50] durante [5 minutos] en [región us-east-1]
  • [latencia de p90] [es superior a] [750 ms] durante [10 minutos] el [proxy myproxy1]

La versión beta de los informes de seguridad 19.11.13 agrega nuevos tipos de alertas:

  • Alertas de tráfico total (beta) Un tipo de alerta que te permite generar una alerta cuando el tráfico cambia en un porcentaje específico durante un período.
  • Alertas de anomalía (beta). Es un tipo de alerta en el que Edge detecta problemas de tráfico y rendimiento en lugar de que tengas que predeterminarlos tú mismo. Luego, puedes enviar una alerta para estas anomalías.
  • Alertas de vencimiento de TLS (beta). Un tipo de alerta que te permite enviar notificaciones cuando un certificado TLS esté a punto de caducar.

Debido a que la supervisión de API ahora admite varios tipos de alertas, el cuadro de diálogo Crear alerta ahora muestra la opción para seleccionar el tipo de alerta:

El cuadro de diálogo para crear alertas ahora tiene varios tipos de alertas

Visualiza la configuración de alertas

Para ver la configuración de alertas que está definida en la actualidad, haz clic en Analizar > Reglas de alerta en la IU de Edge.

Se muestra la página Alert, como se indica en la siguiente imagen:

Correo electrónico de alerta

Como se destaca en la figura, la página Alerta te permite hacer lo siguiente:

Visualiza el historial de alertas que se activaron en tu organización

Para ver el historial de alertas que se activaron en tu organización durante las últimas 24 horas, haz clic en Analizar > Reglas de alerta en la IU de Edge y, luego, en la pestaña Historial.

Se mostrará la página Historial de alertas.

Historial de alertas

Haz clic en el nombre de la alerta para ver sus detalles en el panel Investigar. Puedes filtrar la lista buscando todo o parte del nombre de la alerta.

Agrega alertas y notificaciones

Para agregar alertas y notificaciones, sigue estos pasos:

  1. Haz clic en Analizar > Reglas de alerta en la IU de Edge.
  2. Haz clic en +Alerta.
  3. Ingresa la siguiente información general sobre la alerta:
    Campo Descripción
    Nombre de la alerta Nombre de la alerta. Usa un nombre que describa el activador y que sea significativo para ti. El nombre no puede superar los 128 caracteres.
    Tipo de alerta Selecciona Fijo. Para obtener más información sobre los tipos de alerta, consulta Acerca de los tipos de alerta.
    Descripción Descripción de la alerta.
    Entorno Selecciona el entorno de la lista desplegable.
    Estado Activa o desactiva la opción para habilitar o inhabilitar la alerta.
  4. Define la métrica, el umbral y la dimensión de la primera condición que activará la alerta.
    Campo Condición Descripción
    Métrica

    Selecciona una de las siguientes métricas:

    • Código de estado: Selecciona un código de estado de la lista, como 401, 404, 2xx, 4xx o 5xx HTTP.

      Nota:

      • La API te permite establecer un rango más amplio de códigos de estado. Usa la API para especificar cualquier código de estado entre 200-299, 400-599 y los valores comodín 2xx, 4xx o 5xx. Consulta Crear alerta.
      • Para las alertas de límite de frecuencia (código de estado HTTP 429), establece la métrica en un código de falla de Spike Arrest.
      • Puedes usar la política AssignMessage para reescribir el código de respuesta HTTP, ya sea desde un error de proxy o un error objetivo. La supervisión de API ignora cualquier código que se haya reescrito y registra los códigos de respuesta HTTP reales.
    • Latencia: Selecciona un valor de latencia de la lista desplegable. Específicamente: p50 (percentil 50), p90 (percentil 90), p95 (percentil 95) o p99 (percentil 99h). Por ejemplo, selecciona p95 para configurar una alerta que se active cuando la latencia de respuesta para el percentil 95 sea mayor que el umbral que configuraste a continuación.
    • Fault Code: Selecciona una categoría, subcategoría y código de falla de la lista. O selecciona una de las siguientes opciones dentro de una categoría o subcategoría:

      • Todas: El total combinado de todos los códigos de error en esta categoría o subcategoría debe cumplir con los criterios de la métrica.
      • Cualquiera: El código de falla único en esta categoría o subcategoría debe cumplir con los criterios de la métrica.

      Para obtener más información, consulta la Referencia de códigos con fallas.

    • Tráfico total (Beta): Selecciona el aumento o la disminución del tráfico. Consulta Alertas de tráfico (beta) para obtener más información.

    Umbral

    Configura el límite para la métrica seleccionada:

    • Código de estado: Establece el umbral como una tasa de porcentaje, un recuento o las transacciones por segundo (TPS) en el tiempo.
    • Latencia: selecciona el límite como una duración total o de la latencia de destino (ms) a lo largo del tiempo. En este caso, se activa una alerta si el percentil observó latencia, que se actualiza cada minuto si el tráfico está presente, supera la condición de umbral para la duración especificada. Es decir, la condición de límite no se agrega durante toda la duración.
    • Código de falla: establece el límite como un porcentaje de tasa, recuento o transacciones por segundo (TPS) en el tiempo.
    Dimensión Haz clic en ++Add Dimension y especifica los detalles de la dimensión para los que se muestran los resultados, incluido el proxy de API, el servicio de destino, la aplicación para desarrolladores y la región.

    Si estableces una dimensión específica para lo siguiente:

    • Todas: Todas las entidades de la dimensión deben cumplir con los criterios de la métrica. No puedes seleccionar Todos para un tipo de métrica Latencia.
    • Cualquiera: Solo se aplica a la región. Una entidad de la dimensión debe cumplir los criterios de la métrica para una sola región.
      Nota: En el caso de los proxies de API o los servicios de destino, selecciona una colección para admitir cualquier funcionalidad.
    • Colecciones: Selecciona una colección de la lista para especificar el conjunto de proxies de API o servicios de destino. En este caso, cualquier entidad de la colección debe cumplir con los criterios.

    Si establece la dimensión en Objetivo, puede seleccionar un servicio de destino o el servicio especificado por una Política ServiceCallout. El objetivo de una política ServiceCallout se muestra como un valor con el prefijo `sc://`. Por ejemplo, `sc://my.endpoint.net`.

  5. Haz clic en Show condition data para mostrar los datos recientes de la condición durante la última hora.
    La tasa de error en el grafo se muestra en rojo cuando excede el límite de la condición de alerta.
    Mostrar datos de las condiciones

    Haz clic en Hide condition data para ocultar los datos.

  6. Haz clic en + Agregar condición para agregar condiciones adicionales y repetir los pasos 4 y 5.

    Nota: Si especificas varias condiciones, la alerta se activará cuando se cumplan todas las condiciones.

  7. Haz clic en Create an API analytics reports based on alert conditions si deseas crear un informe personalizado basado en las condiciones de alerta que configuraste. Esta opción estará inhabilitada si no eres administrador de la organización.

    Para obtener más información, consulta Crea un informe personalizado a partir de una alerta.

    Nota: Es posible modificar el informe personalizado después de guardar la alerta, tal como se describe en Cómo administrar informes personalizados.

  8. Haz clic en + Notificación para agregar una notificación de alerta.
    Detalles de la notificación Descripción
    Canal Selecciona el canal de notificaciones que quieres usar y especifica el destino: Email, Slack, PagerDuty o Webhook.
    Destino Especifica el destino según el tipo de canal seleccionado:
    • Correo electrónico: dirección de correo electrónico, como joe@company.com
    • Slack: URL del canal de Slack, como https://hooks.slack.com/services/T00000000/B00000000/XXXXX
    • PagerDuty: código de PagerDuty, como abcd1234efgh56789
    • Webhook: URL de webhook, como https://apigee.com/test-webhook. Consulta Formato del objeto de webhook para obtener una descripción del objeto enviado a la URL.

      Pasa cualquier información de la credencial en la URL del webhook. Por ejemplo: https://apigee.com/test-webhook?auth_token=1234_abcd

      Puedes especificar la URL a un extremo que pueda analizar el objeto webhook para modificarlo o procesarlo. Por ejemplo, puedes especificar la URL a una API, como una API de Edge, o a cualquier otro extremo que pueda procesar el objeto.

      Nota: Solo puedes especificar un destino por notificación. Si quieres especificar varios destinos para el mismo tipo de canal, agrega notificaciones adicionales.

  9. Para agregar notificaciones adicionales, repite el paso 8.
  10. Si agregaste una notificación, configura los siguientes campos:
    Campo Descripción
    Playbook (Opcional) Campo de texto de formato libre que proporciona una descripción breve de las acciones recomendadas para resolver las alertas cuando se activan. También puedes especificar un enlace a tu wiki o página de comunidad interna donde puedes consultar las prácticas recomendadas. La información de este campo se incluirá en la notificación. El contenido de este campo no puede superar los 1,500 caracteres.
    Limitar La frecuencia con la que se envían notificaciones. Selecciona un valor de la lista desplegable. Los valores válidos incluyen 15 minutos, 30 minutos y 1 hora.
  11. Haz clic en Guardar.

Formato del objeto de webhook

Si especificas una URL de webhook como el destino de una notificación de alerta, el objeto enviado a la URL tendrá el siguiente formato:
{
  "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"
}

Las propiedades thresholdViolations y thresholdViolationsFormatted contienen detalles sobre la alerta. La propiedad thresholdViolations contiene una sola string con los detalles, mientras que thresholdViolationsFormatted incluye un objeto que describe la alerta. Por lo general, se usa la propiedad thresholdViolationsFormatted porque es más fácil de decodificar.

En el ejemplo anterior, se muestra el contenido de estas propiedades para una alerta fija cuando configuras la métrica de alerta con el fin de que se active en función del código de estado HTTP 2xx, como lo indica la propiedad statusCode.

El contenido de estas propiedades depende del tipo de alerta, como fija o de anomalía, y de la configuración específica de la alerta. Por ejemplo, si creas una alerta fija basada en un código de falla, la propiedad thresholdViolationsFormatted contendrá una propiedad faultCode en lugar de una statusCode.

En la siguiente tabla, se muestran todas las propiedades posibles de la propiedad thresholdViolationsFormatted para diferentes tipos de alertas:

Tipo de alerta Posibles contenidos thresholdViolationsFormatted
Fijo
metric, proxy, target, developerApp,
region, statusCode, faultCodeCategory, faultCodeSubCategory,
faultCode, percentile, comparisonType, thresholdValue,
triggerValue, duration, violation
Tráfico total
metric, proxy, target, developerApp,
region, comparisonType, thresholdValue, triggerValue,
duration, violation
Anomalía
metric, proxy, target, region,
statusCode, faultCode, percentile, sensitivity,
violation
Vencimiento de TLS
envName, certificateName, thresholdValue, violation

Crea un informe personalizado a partir de una alerta

Para crear un informe personalizado a partir de una alerta, siga estos pasos:

  1. Cuando crees una alerta, haz clic en Crear un informe de estadísticas de la API basado en las condiciones de la alerta, según se describe en Cómo agregar alertas y notificaciones.

    Después de guardar la alerta, la IU muestra el siguiente mensaje:

    Alert alertName saved successfully. To customize the report generated, click here.

    Haz clic en el mensaje para abrir el informe en una pestaña nueva con los campos relevantes propagados previamente. De forma predeterminada, el informe personalizado tiene el siguiente nombre: API Monitoring Generated alertName

  2. Edita el informe personalizado como desees y haz clic en Guardar.
  3. Haz clic en el nombre del informe de la lista y ejecuta el informe personalizado.

Para administrar el informe personalizado que se creó en función de las condiciones de alerta, siga estos pasos:

  1. Haz clic en Analizar > Reglas de alerta en la IU de Edge.
  2. Haz clic en la pestaña Configuración.
  3. En la columna Informes, haz clic en el informe personalizado asociado a la alerta que deseas administrar.

    La página del informe personalizado se mostrará en una pestaña nueva. Si la columna Informes está en blanco, significa que aún no se creó ningún informe personalizado. Si lo deseas, puedes editar la alerta para agregar un informe personalizado.

  4. Edita el informe personalizado como desees y haz clic en Guardar.
  5. Haz clic en el nombre del informe de la lista y ejecuta el informe personalizado.

Habilita o inhabilita una alerta

Para habilitar o inhabilitar una alerta, sigue estos pasos:

  1. Haz clic en Analizar > Reglas de alerta en la IU de Edge.
  2. Haz clic en el botón de activación en la columna Estado asociada con la alerta que deseas habilitar o inhabilitar.

Edita una alerta

Para modificar una alerta:

  1. Haz clic en Analizar > Reglas de alerta en la IU de Edge.
  2. Haz clic en el nombre de la alerta que deseas editar.
  3. Edita la alerta según sea necesario.
  4. Haz clic en Guardar.

Borra una alerta

Para borrar una alerta, sigue estos pasos:

  1. Haz clic en Analizar > Reglas de alerta en la IU de Edge.
  2. Coloca el cursor sobre la alerta que deseas borrar y haz clic en en el menú de acciones.

Apigee sugiere que configures las siguientes alertas para recibir notificaciones sobre problemas habituales. Algunas de estas alertas son específicas para la implementación de tus APIs y solo son útiles en ciertas situaciones. Por ejemplo, varias de las alertas que se muestran a continuación solo se aplican si usas las políticas ServiceFeatured o JavaMissing.

Alerta Ejemplo de IU Ejemplo de API
Códigos de estado 5xx para todas o cualquier API Cómo configurar una alerta de código de estado 5xx para un proxy de API Configura una alerta de código de estado 5xx para un proxy de API mediante la API
Latencia de P95 para un proxy de API Configura una alerta de latencia de P95 para un proxy de API Configura una alerta de latencia P95 para un proxy de API mediante la API
Códigos de estado 404 (Aplicación no encontrada) para todos los proxies de API Configura una alerta de código de estado 404 (Aplicación no encontrada) para todos los proxies de API Configura una alerta de código de estado 404 (Aplicación no encontrada) para todos los proxies de API con la API
Recuento de proxy de API para las API Cómo configurar una alerta de recuento de proxy de API para las APIs Configura una alerta de recuento de proxy de API para las API mediante la API
Tasas de errores de los servicios de destino Configura una alerta de tasa de errores para los servicios de destino Configura una alerta de tasa de error para los servicios de destino mediante la API
Tasas de error para las políticas ServiceCallout (si corresponde) Configure una alerta de tasa de error para la política ServiceCallout Configura una alerta de tasa de error para la política ServiceCallout mediante la API
Códigos de fallas específicos, incluidos los siguientes:
  • Errores de protocolo de la API (por lo general, 4xx)
    • IU: API Protocol > All
    • API:
      "faultCodeCategory":"API Protocol",
      "faultCodeSubCategory":"ALL"
  • Errores HTTP genéricos
    • IU: Puerta de enlace > Otro > Puerta de enlace HTTPErrorResponseCode
    • API:
      "faultCodeCategory": "Gateway",
      "faultCodeSubCategory": "Others",
      "faultCodeName": "Gateway HTTPErrorResponseCode"
  • Errores de ejecución de texto destacado del servicio de Java (si corresponde)
    • IU: Directiva de ejecución > Java Callout > JavaCallout ExecutionFailed
    • API:
      "faultCodeCategory": "Execution Policy",
      "faultCodeSubCategory": "Java Callout",
      "faultCodeName": "JavaCallout ExecutionFailed"
  • Errores de ejecución de la secuencia de comandos del nodo (si corresponde)
    • IU: Directiva de ejecución > Node Script > NodeScript ExecutionError
    • API:
      "faultCodeCategory": "Execution Policy",
      "faultCodeSubCategory": "Node Script",
      "faultCodeName": "NodeScript ExecutionError"
  • Incumplimientos de cuota
    • IU: Traffic Mgmt Policy > Cuotas > Infracción de cuotas
    • API:
      "faultCodeCategory": "Traffic Mgmt Policy",
      "faultCodeSubCategory": "Quota",
      "faultCodeName": "Quota Violation"
  • Errores de la política de seguridad
    • IU: Directiva de seguridad > Cualquiera
    • API:
      "faultCodeCategory": "Security Policy",
      "faultCodeName": "Any"
  • Errores de Sense (si corresponde)
    • IU: Sensor > Sensor > Sensor RaiseFault
    • API:
      "faultCodeCategory": "Sense",
      "faultCodeSubCategory": "Sense",
      "faultCodeName": "Sense RaiseFault"
  • Errores de ejecución de la llamada del servicio (si corresponde)
    • IU: Directiva de ejecución > Service Callout > ServiceCallout ExecutionFailed
    • API:
      "faultCodeCategory": "Execution Policy",
      "faultCodeSubCategory": "Service Callout",
      "faultCodeName": "ServiceCallout ExecutionFailed"
  • Errores de destino
    • IU: Puerta de enlace > Destino > Puerta de enlace TimeoutWithTargetOrCallout
    • API:
      "faultCodeCategory": "Gateway",
      "faultCodeSubCategory": "Target",
      "faultCodeName": "Gateway TimeoutWithTargetOrCallout"
  • Errores de destino, no hay objetivos activos
    • IU: Puerta de enlace > Destino > Puerta de enlace TargetServerConfiguredInLoadBalancersIsDown
    • API:
      "faultCodeCategory": "Gateway",
      "faultCodeSubCategory": "Target",
      "faultCodeName": "Gateway TargetServerConfiguredInLoadBalancerIsDown
  • Errores de destino, EOF inesperado
    • IU: Puerta de enlace > Destino > Puerta de enlace UnexpectedEOFAtTarget
    • API:
      "faultCodeCategory": "Gateway", "faultCodeSubCategory": "Target", "faultCodeName" : "Gateway UnexpectedEOFAtTarget"
  • Errores de host virtual
    • IU: puerta de enlace > Host virtual > VirtualHost InvalidKeystoreOrTrustStore
    • API:
      "faultCodeCategory": "Gateway",
      "faultCodeSubCategory": "Virtual Host",
      "faultCodeName": "VirtualHost InvalidKeystoreOrTrustStore"
Configura una alerta de código de fallas de la política Configura una alerta de código de error de política mediante la API

Configura una alerta de código de estado 5xx para un proxy de API

A continuación, se proporciona un ejemplo de cómo configurar una alerta con la IU que se activa cuando las transacciones por segundo (TPS) de códigos de estado 5xx para el proxy de API de hoteles superan los 100 durante 10 minutos en cualquier región. Para obtener más información, consulta Agrega alertas y notificaciones.

Si deseas obtener información sobre el uso de la API, consulta Configura una alerta de código de estado 5xx para un proxy con la API.

Configura una alerta de latencia de P95 para un proxy de API

A continuación, se proporciona un ejemplo de cómo configurar una alerta mediante la IU que se activa cuando la latencia de respuesta total para el percentil 95 es mayor a 100 ms durante 5 minutos para el proxy de API de hoteles de cualquier región. Para obtener más información, consulta Agrega alertas y notificaciones.

Si deseas obtener información sobre el uso de la API, consulta Configura una alerta de latencia P95 para un proxy de API mediante la API.

Configurar una alerta 404 (no se encontró la aplicación) para todos los proxies de API

A continuación, se proporciona un ejemplo de cómo configurar una alerta con la IU que se activa cuando el porcentaje de códigos de estado 404 para todos los proxies de API supera el 5% durante 5 minutos de cualquier región. Para obtener más información, consulta Agrega alertas y notificaciones.

Si deseas obtener información sobre el uso de la API, consulta Configura una alerta 404 (Aplicación no encontrada) para todos los proxies de API que usan la API.

Configura una alerta de recuento de proxy de API para las API

A continuación, se proporciona un ejemplo de cómo configurar una alerta con la IU que se activa cuando el recuento de códigos 5xx para las APIs supera los 200 por 5 minutos en cualquier región. En este ejemplo, las APIs se capturan en la colección Proxies de API críticos. Para obtener más información, consulta:

Si deseas obtener información sobre el uso de la API, consulta 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

A continuación, se proporciona un ejemplo de cómo configurar una alerta con la IU 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 Objetivos críticos. Para obtener más información, consulta:

Si deseas obtener información sobre el uso de la API, consulta Configura una alerta de tasa de error para los servicios de destino que usan la API.

Configura una alerta de tasa de error para la política ServiceCallout

A continuación, se proporciona un ejemplo de cómo configurar una alerta mediante la IU que se activa cuando la tasa de código 500 para el servicio especificado por la política ServiceCallout excede el 10% durante 1 hora en cualquier región. Para obtener más información, consulta:

Si deseas obtener información sobre el uso de la API, consulta Configura una alerta de tasa de error para la política de leyenda de servicio con la API.

Configura una alerta de código de falla de la política

A continuación, se muestra un ejemplo de cómo configurar una alerta con la IU que se activa cuando el recuento de códigos de error JWT AlgorithmMismatch para la política VerifyJWT es mayor que 5 para 10 minutos para todas las API. Para obtener más información, consulta:

A fin de obtener información sobre el uso de la API, consulta Configura una alerta de código de falla para la política con código de falla.