Utilizzare l'API di rilevamento delle anomalie

Stai visualizzando la documentazione di Apigee Edge.
Vai alla documentazione di Apigee X.
informazioni

La maggior parte delle API che utilizzi per creare e gestire gli avvisi di anomalie e per raccogliere le metriche relative alle anomalie sono le stesse che utilizzi per gli avvisi corretti. Le seguenti API di avviso funzionano nello stesso modo sia per gli avvisi corretti che per quelli relativi alle anomalie:

Tuttavia, alcune API hanno proprietà aggiuntive utilizzate per supportare gli avvisi di anomalie, tra cui:

Impostazione di $ACCESS_TOKEN

Tutte le chiamate API mostrate di seguito passano le tue credenziali in una variabile di ambiente denominata $ACCESS_TOKEN. Imposta $ACCESS_TOKEN sul token di accesso OAuth 2.0, come descritto in Ottenere un token di accesso per OAuth 2.0. Per informazioni sulle opzioni cURL utilizzate in questi esempi, consulta Utilizzo di cURL.

Ricevi avvisi

Per impostazione predefinita, l'API Get Alerts restituisce informazioni su tutti gli avvisi definiti. Questa API ora utilizza i parametri di query per consentirti di filtrare i risultati:

  • enabled - Se true specifica di restituire solo avvisi abilitati. Il valore predefinito è false.
  • alertType: specifica il tipo di avviso da restituire. I valori consentiti sono runtime, il valore predefinito è cert.
  • alertSubType: specifica il sottotipo di avviso da restituire. Il valore predefinito non è impostato, il che significa che vengono restituiti tutti i sottotipi di avvisi. Specifica anomaly per restituire avvisi di anomalie.

Ad esempio, utilizza la chiamata API seguente per restituire gli avvisi di abilitazione solo per l'organizzazione denominata myorg:

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

La seguente chiamata restituisce solo avvisi per anomalie, sia attivati che disattivati:

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

Crea o aggiorna un avviso per anomalie

Utilizza le stesse API per creare o aggiornare un avviso di anomalie come fai attualmente per un avviso corretto. Il corpo della chiamata API per creare o aggiornare un avviso di anomalia è lo stesso utilizzato per un avviso corretto, con le seguenti modifiche:

  • Devi aggiungere le nuove proprietà seguenti per specificare che si tratta di un avviso di anomalie:

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

    I valori predefiniti di queste proprietà sono:

    "alertType": "runtime"
    "alertSubType": "fixed"
  • Nell'array conditions:

    • La proprietà metrics accetta solo i valori di:

      • count: genera un avviso sul conteggio degli errori HTTP.
      • totalLatency: genera un avviso per la latenza.
    • La proprietà threshold accetta una stringa anziché un numero. I valori supportati includono: slight, moderate e severe.
    • Le proprietà durationSeconds e comparator non sono supportate.
  • Nell'elemento dimensions dell'array conditions:

    • Devi impostare il valore della proprietà proxy su ALL.
    • La proprietà statusCode supporta solo il valore 4xx, 503, 504, and 5xx.
    • Le proprietà developerApp, collection, faultCodeCategory, faultCodeSubCategory e faultCodeName non sono supportate.
  • La proprietà reportEnabled non è supportata per gli avvisi di anomalie.

La chiamata API di esempio seguente crea un avviso di anomalia che viene attivato quando i codici di stato 5xx si verificano con una frequenza moderata per tutti i proxy API nell'ambiente di produzione per qualsiasi regione. Quando viene attivato l'avviso, viene inviata una notifica all'indirizzo email specificato:

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

Utilizzare l'API Events con le anomalie

Utilizza l'API /metrics/events per recuperare tutti gli eventi di un'organizzazione per un intervallo di tempo specificato. L'elenco degli eventi include le anomalie rilevate da Edge e gli eventuali avvisi attivati. Gli avvisi possono includere sia quelli di correzione sia quelli di anomalie.

Per impostazione predefinita, l'API restituisce tutti gli eventi relativi all'ora precedente. Utilizza i parametri di query from e to per specificare una durata diversa. I valori dei parametri di query from e to per specificare una durata diversa.

Ad esempio, la seguente chiamata API restituisce tutti gli eventi nell'organizzazione myorg per le 12 ore precedenti:

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

Imposta $ACCESS_TOKEN sul token di accesso OAuth 2.0, come descritto in Ottenere un token di accesso per OAuth 2.0. Per informazioni sulle opzioni cURL utilizzate in questo esempio, consulta Utilizza cURL.

La chiamata successiva restituisce tutti gli eventi di anomalia con una soglia moderata per le ultime 24 ore:

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

Per questa API è richiesto solo il parametro di query org. Oltre ai parametri di query descritti nel documento dell'API all'indirizzo /metrics/events, questa API supporta le seguenti opzioni per supportare il rilevamento di anomalie:

Nome Descrizione Predefinito
threshold

Filtra gli eventi in base alla soglia specificata: slight, moderate o severe.

Consentito solo quando imposti type=anomaly.

Tutte le gravità
type Filtra gli eventi in base al tipo specificato: alert o anomaly. Specifica più valori sotto forma di elenco separato da virgole. Tutti i tipi