Acerca de la detección de anomalías

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

Apigee te permite crear reglas basadas en patrones que activan alertas basadas en un conjunto de condiciones predefinidas. Por ejemplo, puedes generar una alerta cuando se produce alguna de las siguientes condiciones:

  • [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]

Cuando se cumplen las condiciones de una alerta, la API de Monitoring genera una alerta para informarte sobre el problema. Sin embargo, debes definir las condiciones de alerta específicas antes de que la supervisión de API pueda generar la alerta.

Si bien estas alertas predefinidas son valiosas, puede ser difícil determinar los límites correctos para una condición, debido a que los patrones de tráfico cambian con el tiempo. Por ejemplo, si estableces un umbral demasiado bajo, tendrás demasiadas alertas. Si estableces un umbral demasiado alto, pueden pasarse por alto algunos problemas o interrupciones graves.

Surgen problemas similares en la medicina cuando los médicos intentan predecir si un paciente contraerá una enfermedad, como una enfermedad cardíaca, en función de pruebas clínicas para factores como presión arterial o colesterol. Si el umbral para la prueba es demasiado bajo, muestra falsos positivos. Si el límite es demasiado alto, la prueba muestra falsos negativos.

En lugar de configurar los límites, como lo haces con las alertas predefinidas, puedes dejar que Apigee determine los valores del umbral para predecir eventos inusuales o patrones de tráfico de la API, llamados anomalias, mediante modelos estadísticos. Esto se llama detección de anomalías.

Detección de anomalías

Con la detección de anomalías, permites que Apigee detecte problemas de tráfico y rendimiento, en lugar de priorizar las condiciones de las alertas. Apigee busca automáticamente las condiciones de anomalía a nivel de la organización, el entorno y la región. Cuando se detecta, la anomalía se registra para mostrarse en el panel de eventos de anomalías en la IU de Apigee.

Algunos ejemplos de anomalías detectadas pueden incluir situaciones en las que una versión de API nueva genera un aumento inesperado del tráfico y un aumento correspondiente de la latencia para la API. O bien, una versión mal configurada en el backend genera un aumento en los errores de backend que informa la API.

En una anomalía detectada, se incluye la siguiente información:

  • La métrica que causó la anomalía, como la latencia del proxy o un código de error HTTP
  • La gravedad de la anomalía. La gravedad puede ser leve, moderada o grave, según su nivel de confianza en el modelo. Un nivel de confianza bajo indica que la gravedad es leve, mientras que un nivel de confianza alto indica que es grave.

Por ejemplo, Apigee puede detectar de forma automática una anomalía como las siguientes:

  • Un [leve] [aumento de errores 503] en [entorno de producción, región region1]
  • Un [moderado] [aumento de errores 4xx] en [entorno de producción, región region2]
  • Un [severo] [aumento de la latencia] en [entorno de producción, región region3]

Tipos de anomalías

Apigee detecta de forma automática los siguientes tipos de anomalías:

  • Aumento de errores HTTP 503 a nivel de organización, entorno y región
  • Aumento de errores HTTP 504 a nivel de organización, entorno y región
  • Aumento de todos los errores HTTP 4xx o 5xx a nivel de organización, entorno y región
  • Aumento en la latencia total de respuesta para el percentil 90 (p90) a nivel de organización, entorno y región

Cómo funciona la detección de anomalías

Se incluyen las siguientes etapas en la detección de anomalías:

Entrena modelos

La detección de anomalías funciona mediante el entrenamiento de un modelo de comportamiento de tus proxies de API a partir de datos históricos de series temporales. No es necesario que realices ninguna acción para entrenar el modelo. Apigee crea y entrena de forma automática modelos de las seis horas anteriores de los datos de tráfico. Por lo tanto, Apigee requiere un mínimo de seis horas de datos en un proxy de API a fin de entrenar el modelo antes de que pueda registrar una anomalía.

El objetivo del entrenamiento es mejorar la exactitud del modelo, que, luego, se puede probar con datos históricos. La forma más simple de probar la exactitud de un modelo es calcular su tasa de error, la suma de falsos positivos y falsos negativos, dividida por la cantidad total de eventos previstos. Pero también se usan medidas estadísticas de precisión más sofisticadas, que incluyen Curvas ROC.

Registra eventos de anomalía

En el entorno de ejecución, la detección de anomalías en Apigee compara el comportamiento actual de los proxies de API con el comportamiento que predice el modelo. La detección de anomalías puede determinar, con un nivel de confianza específico, cuando una métrica operativa excede el valor previsto. Por ejemplo, cuando la tasa de errores 5xx supera la tasa que predice el modelo.

Cuando Apigee detecta una condición de anomalía, registra automáticamente esa condición en el panel de eventos de anomalías en la IU de Apigee. Para cada anomalía detectada, Apigee registra su gravedad como leve, moderada o grave.

La lista de eventos que se muestra en el panel de eventos de anomalías incluye todas las que se detectaron por Apigee y las alertas activadas.