Anomalieerkennungs-API verwenden

Sie sehen die Dokumentation zu Apigee Edge.
Zur Apigee X-Dokumentation
weitere Informationen

Die meisten APIs, die Sie zum Erstellen und Verwalten von Anomaliebenachrichtigungen verwenden, und zum Erfassen von Anomaliemesswerten sind mit den APIs identisch, die Sie mit festen Benachrichtigungen verwenden. Die folgenden Alert APIs funktionieren sowohl für feste Benachrichtigungen als auch für Anomaliebenachrichtigungen auf die gleiche Weise:

Einige APIs verfügen jedoch über zusätzliche Eigenschaften, die zur Unterstützung von Anomaliebenachrichtigungen verwendet werden, darunter:

$ACCESS_TOKEN einstellen

Alle unten aufgeführten API-Aufrufe übergeben Ihre Anmeldedaten in einer Umgebungsvariable namens $ACCESS_TOKEN. Stellen Sie $ACCESS_TOKEN auf Ihr OAuth 2.0-Zugriffstoken ein, wie unter OAuth 2.0-Zugriffstoken anfordern beschrieben. Informationen zu den in diesen Beispielen verwendeten cURL-Optionen finden Sie unter cURL verwenden.

Benachrichtigungen erhalten

Standardmäßig gibt die API Get Alerts (Benachrichtigungen abrufen) Informationen zu allen definierten Benachrichtigungen zurück. Diese API unterstützt nun Abfrageparameter zum Filtern von Ergebnissen:

  • enabled-Wenn true angibt, dass nur aktivierte Benachrichtigungen zurückgegeben werden sollen. Der Standardwert ist false.
  • alertType-Gibt den Benachrichtigungstyp an, der zurückgegeben werden soll. Die zulässigen Werte sind runtime, der Standardwert cert.
  • alertSubType-Gibt den Warnungs-Untertyp an, der zurückgegeben werden soll. Der Standardwert ist nicht festgelegt, d. h., es werden alle Benachrichtigungstypen zurückgegeben. Geben Sie anomaly an, um Anomaliebenachrichtigungen zurückzugeben.

Verwenden Sie beispielsweise den folgenden API-Aufruf, um nur Benachrichtigungen für die Organisation mit dem Namen myorg zurückzugeben:

curl -H "Authorization: Bearer $ACCESS_TOKEN" \
'https://apimonitoring.enterprise.apigee.com/alerts?org=myorg&enabled=true'

Der folgende Aufruf gibt nur Anomaliemeldungen zurück, die aktiviert und deaktiviert sind:

curl -H "Authorization: Bearer $ACCESS_TOKEN" \
'https://apimonitoring.enterprise.apigee.com/alerts?org=myorg&alertType=runtime&alertSubType=anomaly'

Anomaliebenachrichtigung erstellen oder aktualisieren

Verwenden Sie die gleichen APIs, um eine Anomaliebenachrichtigung zu erstellen oder zu aktualisieren wie für eine feste Benachrichtigung. Der Text des API-Aufrufs zum Erstellen oder Aktualisieren einer Anomaliewarnung ist mit den folgenden Änderungen identisch:

  • Sie müssen die folgenden neuen Eigenschaften hinzufügen, um anzugeben, dass es sich bei der Benachrichtigung um eine Anomalie handelt:

    "alertType": "runtime"
    "alertSubType": "anomaly"

    Die Standardwerte dieser Attribute sind:

    "alertType": "runtime"
    "alertSubType": "fixed"
  • Im Array conditions:

    • Das Attribut metrics nimmt nur die Werte folgender Werte an:

      • count: Lösen Sie eine Benachrichtigung aus, wenn HTTP-Fehler auftreten.
      • totalLatency: Lösen Sie einen Latenzbenachrichtigung aus.
    • Für das Attribut threshold wird anstelle einer Zahl ein String verwendet. Unterstützte Werte sind: slight, moderate und severe.
    • Die Attribute durationSeconds und comparator werden nicht unterstützt.
  • Im dimensions-Element des conditions-Arrays gilt:

    • Sie müssen den Wert des Attributs proxy auf ALL setzen.
    • Das Attribut statusCode unterstützt nur den Wert 4xx, 503, 504, and 5xx.
    • Die Attribute developerApp, collection, faultCodeCategory, faultCodeSubCategory und faultCodeName werden nicht unterstützt.
  • Die Property reportEnabled wird für Anomaliebenachrichtigungen nicht unterstützt.

Der folgende Beispiel-API-Aufruf erstellt eine Anomaliewarnung, die ausgelöst wird, wenn 5xx-Statuscodes für alle API-Proxys in der Produktumgebung für eine beliebige Region mit einer moderaten Rate ausgeführt werden. Eine Benachrichtigung wird an die angegebene E-Mail-Adresse gesendet, wenn die Benachrichtigung ausgelöst wird:

curl 'https://apimonitoring.enterprise.apigee.com/alerts' \
 -X POST \
 -H 'Accept: application/json, text/plain, */*' -H "Content-Type: application/json" \
 -H "Authorization: Bearer $ACCESS_TOKEN" \
 -d '{
     "organization":"myorg",
     "name":"5xx Anomaly Alert",
     "description":"My 5xx alert",
     "environment":"prod",
     "enabled":true,
     "alertType": "runtime",
     "alertSubType": "anomaly",
     "conditions":[
     {
        "description":"",
        "dimensions":{
            "org":"myorg",
            "env":"prod",
            "proxy":"ALL",
            "region":"ANY",
            "statusCode":"5xx"
        },
        "metric":"count",
        "threshold": "moderate"
     }
     ],
     "notifications":[{
         "channel":"email",
         "destination":"ops@acme.com"
     }],
     "playbook":"http://acme.com/myplaybook.html",
     "throttleIntervalSeconds":3600
    }'

Events API mit Anomalien verwenden

Mit der /metrics/events API können Sie alle Ereignisse in einer Organisation für ein bestimmtes Zeitintervall abrufen. Die Liste der Ereignisse enthält Anomalien, die von Edge erkannt wurden, und ausgelöste Benachrichtigungen. Benachrichtigungen können sowohl feste Benachrichtigungen als auch Anomaliedaten enthalten.

Standardmäßig gibt die API alle Ereignisse für die vorherige Stunde zurück. Verwenden Sie die Abfrageparameter from und to, um eine andere Dauer anzugeben. Die Abfrageparameter from und to zur Angabe einer anderen Dauer.

Mit dem folgenden API-Aufruf werden beispielsweise alle Ereignisse in der Organisation myorg für die letzten 12 Stunden zurückgegeben:

curl -H "Authorization: Bearer $ACCESS_TOKEN" \
"https://apimonitoring.enterprise.apigee.com/metrics/events?org=myorg&from=-12h&to=now"

Stellen Sie $ACCESS_TOKEN auf Ihr OAuth 2.0-Zugriffstoken ein, wie unter OAuth 2.0-Zugriffstoken anfordern beschrieben. Informationen zu den in diesem Beispiel verwendeten cURL-Optionen finden Sie unter cURL verwenden.

Der nächste Aufruf gibt alle Anomalieereignisse mit einem moderaten Schwellenwert für die letzten 24 Stunden zurück:

curl -H "Authorization: Bearer $ACCESS_TOKEN" \
"https://apimonitoring.enterprise.apigee.com/metrics/events?org=myorg&type=anomaly&threshold=moderate&from=-24h&to=now"

Für diese API ist nur der Abfrageparameter org erforderlich. Zusammen mit den im API-Dokument unter /metrics/events beschriebenen Abfrageparameter unterstützt diese API die folgenden Optionen, um die Anomalieerkennung zu unterstützen:

Name Beschreibung Standard
threshold

Ereignisse nach dem angegebenen Grenzwert filtern: slight, moderate oder severe.

Nur zulässig, wenn du „type=anomaly“ festlegst.

Alle Schweregrade
type Ereignisse nach dem angegebenen Typ filtern: alert oder anomaly. Geben Sie mehrere Werte als durch Kommas getrennte Liste an. Alle Typen