Sobre a detecção de anomalias

A Apigee permite criar regras baseadas em padrão que acionam alertas com base em um conjunto de condições predefinidas. Por exemplo, é possível gerar um alerta quando qualquer um dos seguintes tipos de condições ocorre:

  • [taxa de erros 5xx] [é maior que] [10%] por [10 minutos] de [segmentar mytarget1]
  • [contagem de erros 2xx] [é menor que] [50] por [5 minutos] em [região us-east-1]
  • [p90 latência] [é maior que] [750 ms] por [10 minutos] em [proxy myproxy1]

Quando as condições de um alerta são atendidas, o API Monitoring emite um alerta para notificar você sobre o problema. No entanto, você precisa ter definido as condições específicas de alerta para que a API Monitoring possa aumentá-lo.

Embora os alertas predefinidos como esses sejam valiosos, pode ser difícil determinar os limites certos para uma condição, porque os padrões de tráfego mudam ao longo do tempo. Por exemplo, se você definir um limite muito baixo, haverá muitos alertas. Se você definir um limite muito alto, poderá perder alguns problemas críticos ou interrupções.

Problemas semelhantes surgem na medicina quando os médicos tentam prever se um paciente adquirirá uma condição, como doença cardíaca, com base em testes clínicos para fatores como pressão arterial ou colesterol. Se o limite para o teste for muito baixo, ele retornará falsos positivos. Se o limite for muito alto, o teste retornará falsos negativos.

Em vez de definir limites por conta própria, como nos alertas predefinidos, é possível permitir que a Apigee determine os valores do limite para prever eventos incomuns ou padrões de tráfego da API, chamados de anomalias, usando modelos estatísticos. Isso é chamado de detecção de anomalias.

Detecção de anomalias

Com a detecção de anomalias, você permite que a Apigee detecte problemas de tráfego e desempenho em vez de pré-determinar as condições dos alertas você mesmo. O Apigee procura automaticamente por condições de anomalias nos níveis da organização, do ambiente e da região. Quando detectada, a anomalia é registrada para exibição no painel "Eventos de anomalias" na IU da Apigee.

Exemplos de anomalias detectadas podem incluir situações em que uma nova versão da API leva a um aumento inesperado no tráfego e a um aumento correspondente na latência da API. Ou uma versão mal configurada no back-end leva a um aumento nos erros de back-end informados pela API.

Uma anomalia detectada inclui as seguintes informações:

  • A métrica que causou a anomalia, como a latência de proxy ou um código de erro HTTP.
  • A gravidade da anomalia. A gravidade pode ser leve, moderada ou grave, com base no nível de confiança no modelo. Um nível de confiança baixo indica que a gravidade é leve, enquanto um alto nível de confiança indica que ela é grave.

Por exemplo, a Apigee pode detectar automaticamente uma anomalia, como:

  • Um [slight] [uptick in 503 errors] em [environment prod, region region1]
  • Um [moderate] [uptick in 4xx errors] em [environment prod, region region2]
  • Um [severe] [latency increase] em [environment prod, region region3]

Tipos de anomalia

A Apigee detecta automaticamente os seguintes tipos de anomalias:

  • Aumento nos erros HTTP 503 para organização, ambiente e região
  • Aumento nos erros HTTP 504 no nível da organização, do ambiente e da região
  • Aumento de todos os erros HTTP 4xx ou 5xx nos níveis de organização, ambiente e região
  • Aumento da latência total da resposta para o 90o percentil (p90) no nível da organização, do ambiente e da região

Como funciona a detecção de anomalias

A detecção de anomalias inclui as seguintes etapas:

Treinar modelos

A detecção de anomalias funciona com o treinamento de um modelo do comportamento dos proxies de API com base em dados históricos de séries temporais. Nenhuma ação é necessária de sua parte para treinar o modelo. A Apigee cria e treina modelos automaticamente para você com base nas seis horas anteriores de dados de tráfego. Portanto, a Apigee requer no mínimo seis horas de dados em um proxy de API para treinar o modelo antes de registrar uma anomalia.

O objetivo do treinamento é melhorar a precisão do modelo, que pode ser testada em dados históricos. A maneira mais simples de testar a precisão de um modelo é calcular a taxa de erros, que é a soma dos falsos positivos e falsos negativos, dividida pelo número total de eventos previstos. Porém, medidas estatísticas mais sofisticadas de precisão, que envolvem curvas ROC, também são usadas.

Registrar eventos de anomalias

No ambiente de execução, a detecção de anomalias da Apigee compara o comportamento atual dos seus proxies de API com o comportamento previsto pelo modelo. A detecção de anomalias pode determinar, com um limite de confiança específico, quando uma métrica operacional está excedendo o valor previsto. Por exemplo, quando a taxa de erros 5xx excede a taxa prevista pelo modelo.

Quando a Apigee detecta uma condição de anomalia, ela registra automaticamente essa condição no painel "Eventos de anomalias" na IU da Apigee. Para cada anomalia detectada, a Apigee registra a gravidade como leve, moderada ou grave.

A lista de eventos exibidos no painel "Eventos de anomalias" inclui todas as anomalias detectadas pela Apigee e pelos alertas acionados.