Utiliser l'API de détection d'anomalies

<ph type="x-smartling-placeholder"></ph> Vous consultez la documentation Apigee Edge.
Accédez à la page Documentation sur Apigee X.
En savoir plus

La plupart des API que vous utilisez pour créer et gérer des alertes d'anomalies, ainsi que pour collecter des métriques d'anomalie, sont identiques à celles que vous utilisez pour les alertes fixes. Les API d'alerte suivantes fonctionnent de la même manière pour les alertes corrigées et les alertes d'anomalie:

Toutefois, certaines API disposent de propriétés supplémentaires qui permettent de gérer les alertes d'anomalies, parmi lesquelles :

Définir $ACCESS_TOKEN

Tous les appels d'API présentés ci-dessous transmettent vos identifiants dans une variable d'environnement appelée $ACCESS_TOKEN. Définissez $ACCESS_TOKEN sur votre jeton d'accès OAuth 2.0, comme décrit dans la section Obtenir un jeton d'accès OAuth 2.0. Pour en savoir plus sur les options cURL utilisées dans ces exemples, consultez la section Utiliser cURL.

Recevoir des alertes

Par défaut, l'option Recevoir des alertes L'API renvoie des informations sur toutes les alertes définies. Cette API utilise désormais des paramètres de requête pour vous permettre de filtrer les résultats :

  • enabled : si true spécifie de ne renvoyer que les alertes activées. La valeur par défaut est false.
  • alertType : indique le type d'alerte à renvoyer. Les valeurs autorisées sont runtime, et la valeur par défaut cert.
  • alertSubType : indique le sous-type d'alerte à renvoyer. La valeur par défaut n'est pas définie, ce qui implique le renvoi de tous les sous-types d'alerte. Spécifiez anomaly pour renvoyer les alertes d'anomalies.

Par exemple, utilisez l'appel d'API suivant pour renvoyer uniquement les alertes activées pour l'organisation nommée myorg :

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

L'appel suivant ne renvoie que les alertes d'anomalies, qu'elles soient activées ou désactivées :

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

Créer ou mettre à jour une alerte d'anomalie

Utilisez les mêmes API pour créer ou mettre à jour une alerte d'anomalie, comme vous le faites actuellement pour une alerte fixe. Le corps de l'appel d'API pour créer ou mettre à jour une alerte d'anomalie est identique à celui utilisé pour une alerte fixe, avec les modifications suivantes :

  • Vous devez ajouter les propriétés nouvelles suivantes pour spécifier que l'alerte est une alerte d'anomalie :

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

    Les valeurs par défaut de ces propriétés sont les suivantes :

    "alertType": "runtime"
    "alertSubType": "fixed"
  • Dans le tableau conditions :

    • La propriété metrics n'accepte que les valeurs suivantes :

      • count : déclenche une alerte sur le nombre d'erreurs HTTP.
      • totalLatency : déclenche une alerte pour la latence.
    • La propriété threshold utilise une chaîne plutôt qu'un nombre. Les valeurs autorisées incluent : slight, moderate et severe.
    • Les propriétés durationSeconds et comparator ne sont pas acceptées.
  • Dans l'élément dimensions du tableau conditions :

    • Vous devez définir la valeur de la propriété proxy sur ALL.
    • La propriété statusCode n'accepte que la valeur 4xx, 503, 504, and 5xx.
    • Les propriétés developerApp, collection, faultCodeCategory, faultCodeSubCategory et faultCodeName ne sont pas acceptées.
  • La propriété reportEnabled n'est pas acceptée pour les alertes d'anomalies.

L'exemple d'appel d'API suivant crée une alerte d'anomalie qui se déclenche lorsque des codes d'état 5xx sont générés à un taux modéré pour tous les proxys d'API de l'environnement de production, quelle que soit leur région. Une notification est envoyée à l'adresse e-mail spécifiée lorsque l'alerte est déclenchée :

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
    }'

Utiliser l'API d'événements avec des anomalies

Utilisez l'API /metrics/events pour obtenir tous les événements d'une organisation pour un intervalle de temps spécifié. La liste des événements inclut les anomalies détectées par Edge et les alertes déclenchées. Les alertes peuvent inclure à la fois des alertes fixes et d'anomalies.

Par défaut, l'API renvoie tous les événements de l'heure précédente. Utilisez les paramètres de requête from et to pour spécifier une durée différente. Les valeurs des paramètres de requête from et to pour spécifier une durée différente.

Par exemple, l'appel d'API suivant renvoie tous les événements de l'organisation myorg pour les 12 heures précédentes :

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

Définissez $ACCESS_TOKEN sur votre jeton d'accès OAuth 2.0, comme décrit dans la section Obtenir un jeton d'accès OAuth 2.0. Pour plus d'informations sur les options cURL utilisées dans cet exemple, consultez la page Utiliser cURL.

L'appel suivant renvoie tous les événements d'anomalies dont le seuil est élevé pour les dernières 24 heures :

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

Seul le paramètre de requête org est requis pour cette API. Outre les paramètres de requête décrits dans la documentation de l'API à l'adresse /metrics/events, cette API accepte les options suivantes pour assurer la détection des anomalies :

Nom Description Par défaut
threshold

Filtrer les événements selon le seuil spécifié : slight, moderate ou severe.

Uniquement autorisé lorsque vous définissez type=anomaly.

Tous les niveaux de gravité
type Filtre les événements selon le type spécifié : alert ou anomaly. Spécifiez plusieurs valeurs sous la forme d'une liste d'éléments séparés par une virgule. Tous les types