Informationen zur Anomalieerkennung

Mit Apigee können Sie musterbasierte Regeln erstellen, die Benachrichtigungen auf Basis vordefinierter Bedingungen auslösen. Sie können beispielsweise eine Benachrichtigung auslösen, wenn einer der folgenden Bedingungstypen auftritt:

  • [Rate von 5xx-Fehlern] [ist größer als] [10 %] für [10 Minuten] ab [ target mytarget1]
  • [Anzahl der 2xx-Fehler] [ist weniger als] [50] für [5 Minuten] in [Region us-east-1]
  • [p90-Latenz] [ist größer als] [750 ms] für [10 Minuten] am [Proxy myproxy1]

Wenn die Bedingungen einer Benachrichtigung erfüllt sind, löst API-Monitoring eine Warnung aus, um Sie über das Problem zu informieren. Sie müssen jedoch die spezifischen Benachrichtigungsbedingungen definieren, bevor API-Monitoring die Warnung auslösen kann.

Vordefinierte Benachrichtigungen wie diese sind zwar wertvoll, aber es kann schwierig sein, die richtigen Schwellenwerte für eine Bedingung festzulegen, da sich Trafficmuster im Laufe der Zeit ändern. Beispiel: Wenn Sie einen Grenzwert zu niedrig festlegen, erhalten Sie zu viele Benachrichtigungen. Wenn Sie einen Grenzwert zu hoch festlegen, können Ihnen kritische Probleme oder Ausfälle entgehen.

Ähnliche Probleme treten in der Medizin auf, wenn Ärzte versuchen, vorherzusagen, ob ein Patient basierend auf klinischen Prüfungen auf Faktoren wie Blähungen oder Cholesterineine beispielsweise eine Herzkrankheit entwickeln wird. Ist der Schwellenwert für den Test zu niedrig, so gibt er falsche positive Ergebnisse zurück. Ist der Schwellenwert zu hoch, gibt der Test falsche negative Ergebnisse zurück.

Statt Schwellenwerte selbst festzulegen wie bei vordefinierten Warnungen, lassen sich auch durch Apigee die Schwellenwerte für die Vorhersage ungewöhnlicher Ereignisse oder API-Traffic-Muster (auch Anomalien genannt) mithilfe statistischer Modelle festlegen. Dies wird als Anomalieerkennung bezeichnet.

Anomalieerkennung

Mit der Anomalieerkennung können Sie Apigee Traffic- und Leistungsprobleme erkennen lassen, anstatt die Bedingungen für Benachrichtigungen selbst zu bestimmen. Apigee sucht automatisch nach Anomaliebedingungen auf Organisations-, Umgebungs- und Regionalebene. Einmal erkannt wird die Anomalie in der Apigee-UI im Anomalien-Dashboard zur Anzeige protokolliert.

Beispiele für erkannte Anomalien können Situationen sein, bei denen ein neuer API-Release zu einem unerwarteten Traffic-Anstieg und einer entsprechenden Erhöhung der Latenz für die API führt. Oder eine falsch konfigurierte Version auf dem Back-End führt zu einer Zunahme der von der API gemeldeten Back-End-Fehler.

Eine erkannte Anomalie enthält folgende Informationen:

  • Den Messwert, der die Anomalie verursacht hat, z. B. Proxy-Latenz oder einen HTTP-Fehlercode.
  • Den Schweregrad der Anomalie. Je nach Konfidenzgrad im Modell kann der Schweregrad leicht, moderat oder gravierend sein. Ein niedriger Konfidenzwert verweist auf einen leichten Schweregrad, ein hoher Konfidenzwert hingegen auf einen gravierenden Schweregrad.

Beispiel: Apigee kann automatisch Anomalien erkennen, wie z. B.:

  • [leicht] [Zunahme in 503-Fehlern] in [in Umgebung prod, Region region1]
  • [mäßig] [Zunahme von4xx-Fehlern] in [Umgebung prod, Region region2]
  • [schwerwiegend] [Latenzzunahme] in [Umgebung prod, region3]

Anomalietypen

Apigee erkennt automatisch folgende Anomaliearten:

  • Zunahme von HTTP 503-Fehlern auf Organisations-, Umgebungs- und Regionsebene
  • Zunahme von HTTP 504-Fehlern auf Organisations-, Umgebungs- und Regionsebene
  • Zunahme aller HTTP 4xx- oder 5xx-Fehler auf Organisations-, Umgebungs- und Regionsebene
  • Zunahme der Gesamtantwortlatenz für das 90. Perzentil (p90) auf Organisations-, Umgebungs- und Regionsebene

Funktionsweise der Anomalieerkennung

Die Anomalieerkennung umfasst folgende Phasen:

Modelle trainieren

Bei der Anomalieerkennung wird ein Modell des Verhaltens Ihrer API-Proxys aus historischen Verlaufsdaten der Zeitachse trainiert. Sie müssen nichts weiter tun, um das Modell zu trainieren. Apigee erstellt und trainiert automatisch Modelle aus den Traffic-Daten der letzten sechs Stunden. Daher benötigt Apigee mindestens sechs Stunden an Daten für einen API-Proxy, um das Modell zu trainieren, bevor eine Anomalie protokolliert werden kann.

Das Ziel des Trainings besteht darin, die Genauigkeit des Modells zu verbessern, das dann an Verlaufsdaten getestet werden kann. Die Genauigkeit eines Modells lässt sich am einfachsten mit der Fehlerrate (der Summe von falsch positiven und falsch negativen Ergebnissen) geteilt durch die Gesamtzahl der vorhergesagten Ereignisse messen. Dabei kommen aber auch komplexere statistische Maßangaben für die Genauigkeit zur Anwendung, darunter ROC-Kurven.

Anomalieereignisse loggen

Während der Laufzeit vergleicht die Apigee-Anomalieerkennung das aktuelle Verhalten Ihrer API-Proxys mit dem vom Modell vorhergesagten Verhalten. Mit der Anomalieerkennung kann dann ein bestimmter Konfidenzwert festgelegt werden, wenn ein Betriebswert den vorhergesagten Wert überschreitet. Das gilt zum Beispiel, wenn die Rate von 5xx-Fehlern die vom Modell vorhergesagte Rate überschreitet.

Wenn Apigee eine Anomaliebedingung erkennt, wird diese Bedingung automatisch im Anomalien-Dashboard der Apigee UI protokolliert. Für jede erkannte Anomalie protokolliert Apigee deren Schweregrad als leicht, moderat oder gravierend.

Die Liste der im Anomalie-Dashboard angezeigten Ereignisse enthält alle von Apigee erkannten Anomalien und alle ausgelösten Benachrichtigungen.