Utilizzare l'API di rilevamento delle anomalie

Stai visualizzando la documentazione di Apigee Edge.
Vai alla sezione Documentazione di Apigee X.
Informazioni

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

Tuttavia, alcune API dispongono di proprietà aggiuntive utilizzate per supportare gli avvisi relativi alle 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 tuo token di accesso OAuth 2.0, come descritto in Ottieni un token di accesso OAuth 2.0. Per informazioni sulle opzioni cURL utilizzate in questi esempi, consulta: Utilizza cURL.

Ricevi avvisi

Per impostazione predefinita, il pulsante Ricevi avvisi L'API 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, restituisce tutti i sottotipi di avvisi. Specifica anomaly per restituire avvisi relativi a anomalie.

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

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

La chiamata seguente restituisce solo avvisi relativi alle anomalie, sia abilitati che disabilitati:

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

Creare o aggiornare un avviso relativo a un'anomalia

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

  • Devi aggiungere le nuove proprietà seguenti per specificare che l'avviso è un avviso relativo a un'anomalia:

    "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 sui conteggi 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.
    • developerApp, collection, faultCodeCategory, Le proprietà faultCodeSubCategory, 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 a una velocità moderata per tutti i proxy API nell'ambiente di produzione per qualsiasi regione. Una notifica viene inviato all'indirizzo email specificato quando viene attivato l'avviso:

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

Usa /metrics/events API per recuperare tutti gli eventi di un'organizzazione per un intervallo di tempo specificato. L'elenco degli eventi include anomalie rilevate da Edge ed eventuali avvisi attivati. Gli avvisi possono includere sia avvisi fissi che avvisi di anomalia.

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

Ad esempio, la seguente chiamata API restituisce tutti gli eventi nell'organizzazione myorg nelle 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 tuo token di accesso OAuth 2.0, come descritto in Ottieni un token di accesso OAuth 2.0. Per informazioni su le opzioni cURL utilizzate in questo esempio, consulta Utilizzare cURL.

La chiamata successiva restituisce tutti gli eventi 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 descritto nella documentazione 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 se imposti type=anomaly.

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