À propos de la détection d'anomalies

Apigee vous permet de créer des règles basées sur des modèles qui déclenchent des alertes en fonction d'un ensemble de conditions prédéfinies. Par exemple, vous pouvez déclencher une alerte lorsque l'un des types de conditions suivants se produit :

  • Le [taux d'erreurs 5xx] [est supérieur à] [10 %] depuis [10 minutes] en provenance de [target mytarget1]
  • Le [nombre d'erreurs 2xx] [est inférieur à] [50] depuis [5 minutes] dans la [région us-east-1]
  • La [latence p90] [est supérieure à] [750 ms] depuis [10 minutes] sur [proxy myproxy1]

Lorsque les conditions d'une alerte sont remplies, l'API Monitoring génère une alerte pour vous informer du problème. Cependant, vous devez avoir défini les conditions d'alerte spécifiques pour que l'API Monitoring puisse déclencher l'alerte.

Bien que les alertes prédéfinies de ce type soient utiles, il peut s'avérer difficile de déterminer les seuils appropriés d'une condition, car les modèles de trafic évoluent au fil du temps. Par exemple, si vous définissez un seuil trop bas, vous allez recevoir des alertes en très grand nombre. Si vous définissez un seuil trop élevé, vous risquez de passer à côté de problèmes ou de pannes critiques.

Des problèmes similaires surviennent en médecine lorsque des médecins tentent de prédire si un patient fera l'objet d'une pathologie, comme une maladie cardiaque, en fonction de résultats de tests cliniques de facteurs tels que la pression artérielle ou le cholestérol. Si le seuil du test est trop bas, il renvoie des faux positifs. Si le seuil est trop élevé, il renvoie des faux négatifs.

Au lieu de définir vous-même des seuils, comme c'est le cas pour les alertes prédéfinies, vous pouvez laisser Apigee déterminer les valeurs de seuil pour prédire des événements inhabituels ou des modèles de trafic d'API, appelés anomalies, à l'aide de modèles statistiques. On parle alors de détection d'anomalies.

Détection d'anomalies

Grâce à la détection d'anomalies, vous laissez Apigee détecter les problèmes de trafic et de performances au lieu de prédéterminer vous-même les conditions d'alerte. Apigee recherche automatiquement les conditions des anomalies au niveau de l'organisation, de l'environnement et de la région. Lorsqu'une anomalie est détectée, elle est consignée pour être affichée dans le tableau de bord des événements d'anomalies de l'UI Apigee.

Par exemple, des anomalies peuvent être détectées si une nouvelle version d'API entraîne une augmentation inattendue du trafic et de la latence de l'API. Il peut s'agir également d'une version mal configurée sur le backend qui entraîne une augmentation des erreurs de backend signalées par l'API.

La détection d'une anomalie contient les informations suivantes :

  • Métrique à l'origine de l'anomalie, telle que la latence du proxy ou un code d'erreur HTTP
  • Niveau de gravité de l'anomalie. Le niveau de gravité peut être léger, modéré ou grave, en fonction du niveau de confiance du modèle. Un niveau de confiance faible indique que le niveau de gravité est léger, tandis qu'un niveau de confiance élevé indique qu'il est grave.

Par exemple, Apigee peut détecter automatiquement l'une des anomalies suivantes :

  • [Augmentation légère] [des erreurs 503] dans [l'environnement prod, la région region1]
  • [Augmentation modérée] [des erreurs xxxx] dans [l'environnement prod, la région region2]
  • [Augmentation importante] de la [latence] dans [l'environnement prod, la région region3]

Types d'anomalies

Apigee détecte automatiquement les types d'anomalies suivants :

  • Augmentation du nombre d'erreurs HTTP 503 au niveau de l'organisation, de l'environnement et de la région
  • Augmentation du nombre d'erreurs HTTP 504 au niveau de l'organisation, de l'environnement et de la région
  • Augmentation du nombre d'erreurs HTTP 4xx ou 5xx au niveau de l'organisation, de l'environnement et de la région
  • Augmentation de la latence de réponse totale pour le 90e centile (p90) au niveau de l'organisation, de l'environnement et de la région

Fonctionnement de la détection d'anomalies

La détection d'anomalies comprend les étapes suivantes :

Entraîner des modèles

La détection d'anomalies consiste à entraîner un modèle du comportement de vos proxys d'API à partir de données de séries temporelles historiques. Aucune action n'est requise de votre part pour entraîner le modèle. Apigee crée et entraîne automatiquement des modèles à partir des données de trafic des six dernières heures. Par conséquent, Apigee a besoin d'au moins six heures de données sur un proxy d'API pour entraîner le modèle avant de pouvoir enregistrer une anomalie.

L'objectif de l'entraînement est d'améliorer la précision du modèle, qui peut ensuite être testé sur des données historiques. Le moyen le plus simple de tester la précision d'un modèle consiste à calculer son taux d'erreur, c'est-à-dire la somme de faux positifs et de faux négatifs, divisée par le nombre total d'événements prévus. Toutefois, des mesures statistiques plus sophistiquées, impliquant des courbes ROC, sont également utilisées.

Consigner les événements d'anomalies

Au moment de l'exécution, la détection d'anomalies Apigee compare le comportement actuel de vos proxys d'API avec le comportement prédit par le modèle. La détection d'anomalies peut alors déterminer, avec un niveau de confiance spécifique, lorsqu'une métrique opérationnelle dépasse la valeur prédite. Par exemple, lorsque le taux d'erreurs 5xx dépasse le taux prédit par le modèle.

Lorsque Apigee détecte une condition d'anomalie, il consigne automatiquement cette condition dans le tableau de bord des événements d'anomalies de l'UI Apigee. Pour chaque anomalie détectée, Apigee enregistre son niveau de gravité sous la forme d'une gravité faible, modérée ou grave.

La liste des événements affichés dans le tableau de bord des événements d'anomalies comprend toutes les anomalies détectées par Apigee, ainsi que toutes les alertes déclenchées.