Visualizzare i dati delle metriche utilizzando l'API

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

Utilizza le API descritte di seguito per ottenere le metriche di monitoraggio delle API. Le metriche sono i valori dei dati aggregati da Monitoraggio API dai dati non elaborati contenuti nei log di Monitoraggio API.

Le sezioni seguenti descrivono come gestire le metriche utilizzando l'API.

Per saperne di più sull'API Metrics, consulta la pagina API Metrics.

Per informazioni sulle opzioni cURL utilizzate in questi esempi, consulta Utilizzare cURL.

API Metrics

L'URL di base utilizzato per effettuare una richiesta GET all'API Metrics è:

https://apimonitoring.enterprise.apigee.com/metrics/resource

dove resource corrisponde a una metrica specifica. La tabella seguente elenca le risorse delle metriche:

Risorsa Descrizione
/traffic Visualizza le metriche sul traffico. Specifica filtri come nome del proxy, intervallo, finestra temporale, target, codice di stato e molti altri.
/latency Ottenere le metriche sulla latenza per le richieste

a Edge e ai target di backend. Specifica filtri come nome del proxy, intervallo, target, codice stato e molti altri.

/targets Visualizza tutti i domini di destinazione per un'organizzazione e un ambiente specifici.
/alerthistory Visualizza le metriche della cronologia degli avvisi per un'organizzazione e un intervallo di tempo specifici.
/alertinstance/instanceid Visualizza le metriche della cronologia degli avvisi per l'ID istanza di avviso specifico.
/alertsummary Ottieni il conteggio totale degli avvisi per un'organizzazione e un intervallo di tempo.
/faultcodenames Recupera tutti i nomi di faultcode.
/faultcodes Visualizza i codici di errore.
/faultcodecategories Visualizza le categorie di codici di errore.
/faultcodesubcategories Visualizza le sottocategorie dei codici di errore.
/faultcodedetails Visualizza tutti i codici di errore con i dettagli.

Ottenere informazioni sull'errore

Tutte le risorse /fault* restituiscono metadati sui possibili errori su Edge. Ad esempio, per visualizzare l'elenco di tutte le possibili categorie di errori:

curl -X GET \
"https://apimonitoring.enterprise.apigee.com/metrics/faultcodecategories" \
-H "accept: application/json" \
-H "Authorization: Bearer $ACCESS_TOKEN"

Imposta $ACCESS_TOKEN sul tuo token di accesso OAuth 2.0, come descritto in Ottenere un token di accesso OAuth 2.0.

La risposta viene visualizzata come segue:

{
  "faultCodeCategories":[
    "","API Protocol","Developer/App","Extension Policy","Gateway",
    "Mediation Policy","Mint","Security Policy","Sense","Traffic Mgmt Policy"
  ]
}

Puoi quindi determinare l'elenco dei codici di errore per la categoria API Protocol:

curl -X GET \
"https://apimonitoring.enterprise.apigee.com/metrics/faultcodes?faultCodeCategory=API Protocol" \
-H "accept: application/json" \
-H "Authorization: Bearer $ACCESS_TOKEN"

Per altre opzioni, consulta l'API Metrics.

Acquisisci le metriche per il traffico e la latenza

L'API Metrics dispone di filtri che puoi applicare all'API per specificare intervalli di tempo, proxy, regioni, ambienti e altri filtri personalizzati per le metriche calcolate. Ad esempio, per visualizzare la metrica Transazioni al secondo (TPS) ogni 10 minuti per l'ora precedente per tutti gli ambienti:

curl -X GET \
"https://apimonitoring.enterprise.apigee.com/metrics/traffic?from=-1h&to=now&select=tps&interval=10m&groupBy=env&org=myorg" \
-H "accept: application/json"  \
-H "Authorization: Bearer $ACCESS_TOKEN" 

Imposta $ACCESS_TOKEN sul tuo token di accesso OAuth 2.0, come descritto in Ottenere un token di accesso OAuth 2.0.

Questa chiamata restituisce i risultati nel seguente formato:

{
  "results":[
    {
      "series":[
        {
          "name":"proxy",
        "tags":
             {
                "env":"prod",
                "intervalSeconds":"60",
                "org":"myorg",
                "region":"myregion"
              },
            "columns":["time","tps"],
            "values":[
              ["2018-08-15T13:10:00Z",5.03],
              ["2018-08-15T13:20:00Z",5.01],
              ["2018-08-15T13:30:00Z",5.81],
              ["2018-08-15T13:40:00Z",5.95],
              
            ]
          },
       
       }
    }]
}

Nota come la proprietà columns specifica il formato di values. La proprietà values contiene le tps calcolate ogni 10 minuti per l'intervallo di 10 minuti precedente.

Il parametro di query interval definisce la frequenza con cui la metrica viene salvata nei risultati e la finestra di campionamento per il valore nei risultati. Nell'esempio riportato sopra, la metrica viene calcolata negli ultimi 10 minuti e scritta nei risultati ogni 10 minuti.

Utilizza i parametri di query from e to per specificare un intervallo di tempo nel formato ISO. La durata massima specificata da from e to è di 24 ore.

Il formato della data può essere:

  • yyyy-mm-ddThh:mm:ssZ
  • yyyy-mm-ddThh:mm:ss+00:00

Ad esempio:

curl -X GET \
"https://apimonitoring.enterprise.apigee.com/metrics/traffic?from=2018-08-13T14%3A04%3A00Z&to=2018-08-13T14%3A10%3A00Z&select=tps&interval=1m&groupBy=env&org=myorg&proxy=PublicAPI" \
-H "accept: application/json"  \
-H "Authorization: Bearer $ACCESS_TOKEN"

In alternativa, utilizza i parametri di query from e to per specificare un intervallo di tempo relativo, ad esempio per l'ultima ora:

curl -X GET \
"https://apimonitoring.enterprise.apigee.com/metrics/traffic?from=-1h&to=now&select=tps&interval=1m&groupBy=env&org=myorg&proxy=PublicAPI" \
-H "accept: application/json"  \
-H "Authorization: Bearer $ACCESS_TOKEN"

Un'altra opzione è utilizzare il parametro di query proxy per visualizzare le transazioni al secondo (TPS) per un singolo proxy:

curl -X GET \
"https://apimonitoring.enterprise.apigee.com/metrics/traffic?from=-1h&to=now&select=tps&interval=1m&groupBy=env&org=myorg&proxy=PublicAPI" \
-H "accept: application/json"  \
-H "Authorization: Bearer $ACCESS_TOKEN"

Per le metriche sulla latenza, specifica molti degli stessi criteri utilizzati per le metriche sul traffico. Tuttavia, per la risorsa /latency:

  • Devi specificare il parametro di query percentile come 50, 90, 95 o 99. Ad esempio, se specifichi 90, l'API restituisce il valore della latenza di risposta totale nel 90° percentile.
  • Il valore windowsize è fissato a un minuto.

Ad esempio, per visualizzare le metriche relative alla latenza totale nel 90° percentile per una finestra di 1 minuto:

curl -X GET \
"https://apimonitoring.enterprise.apigee.com/metrics/latency?percentile=90&select=totalLatency&from=-1h&to=now&interval=5m&windowsize=1m&groupBy=org,env,region&org=myorg" \
-H "accept: application/json" \
-H "Authorization: Bearer $ACCESS_TOKEN"

Per altre opzioni, consulta l'API Metrics.

Acquisisci le metriche per gli avvisi

L'API Metrics restituisce le metriche per tutti gli avvisi, per un avviso specifico o per un riepilogo degli avvisi. Ad esempio, per ottenere la cronologia degli avvisi di un'organizzazione per l'ultima ora:

curl -X GET \
"https://apimonitoring.enterprise.apigee.com/metrics/alerthistory?org=myorg&from=-1h&to=now" \
-H "accept: application/json" \
-H "Authorization: Bearer $ACCESS_TOKEN"

Imposta $ACCESS_TOKEN sul tuo token di accesso OAuth 2.0, come descritto in Ottenere un token di accesso OAuth 2.0.

Questa chiamata API restituisce una risposta nel seguente formato:

[
  {
"id":"983c4c7a-c301-4697-95cc-9a7c53e05fac",
"organization":"myorg",
"environment":"prod",
"name":"Public Api 5xx error rate",
"type":"Alert",
"source":"https://www.apigee.net/sonar",
"raw_payload":"
{
    \"reportUUID\":\"\",
    \"reportEnabled\":false,
    \"organization\":\"myorg\",
    \"name\":\"Public Api 5xx error rate\",
    \"self\":\"/alerts/95cc9ef4-345f-11e8-9fd3-12774584e062\",
    \"description\":\"\",
    \"conditions\":[
    {
        \"comparator\":\"\u003e\",
        \"metric\":\"rate\",
        \"durationSeconds\":3600,
        \"name\":\"\",
        \"description\":\"\",
        \"threshold\":0.01,
        \"dimensions\":
        {
            \"proxy\":\"myAPI\",
            \"org\":\"myorg\",
            \"env\":\"prod\",
            \"region\":\"myRegion\",
            \"statusCode\":\"5xx\"
            }
        }],
        \"uuid\":\"95cc9ef4-345f-11e8-9fd3-12774584e062\",
    \"playbook\":\"This is a test alert.\"
    }",
"time":"2018-08-14T12:45:28Z"
 },
 
]

Puoi quindi utilizzare id nell'array restituito per ottenere informazioni su un avviso specifico:

curl -X GET \
"https://apimonitoring.enterprise.apigee.com/metrics/alertinstance/983c4c7a-c301-4697-95cc-9a7c53e05fac" \
-H "accept: application/json" \
-H "Authorization: Bearer $ACCESS_TOKEN"

Per altre opzioni, consulta l'API Metrics.