Stai visualizzando la documentazione di Apigee Edge.
Consulta la
documentazione di Apigee X. info
Utilizza le API descritte di seguito per ottenere le metriche di API Monitoring. Le metriche sono i valori dei dati aggregati da API Monitoring dai dati non elaborati contenuti nei log di API Monitoring.
Le sezioni seguenti descrivono come gestire le metriche utilizzando l'API.
- API delle metriche
- Ottenere informazioni sugli errori
- Acquisire metriche per traffico e latenza
- Acquisire metriche per gli avvisi
Per ulteriori informazioni sull'API Metrics, consulta API Metrics.
Per informazioni sulle opzioni cURL utilizzate in questi esempi, consulta Utilizzare cURL.
API delle metriche
L'URL di base che utilizzi per effettuare una richiesta GET all'API delle metriche è:
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
|
Ottieni metriche sul traffico. Specifica filtri come nome del proxy, intervallo, intervallo di tempo, target, codice di stato e molti altri. |
/latency
|
Ottieni metriche di latenza per le richieste
a Edge e ai target di backend. Specifica filtri come nome del proxy, intervallo, target, codice di stato e molti altri. |
/targets
|
Ottieni tutti i domini target per un'organizzazione e un ambiente specifici. |
/alerthistory
|
Ottieni le metriche della cronologia degli avvisi per un'organizzazione e un intervallo di tempo specifici. |
/alertinstance/instanceid
|
Ottieni le metriche della cronologia degli avvisi per l'ID dell'istanza di avviso specifica. |
/alertsummary
|
Ottieni il conteggio totale degli avvisi per un'organizzazione e un intervallo di tempo. |
/faultcodenames
|
Ottieni tutti i nomi dei codici di errore. |
/faultcodes
|
Ottieni i codici di errore. |
/faultcodecategories
|
Ottieni le categorie dei codici di errore. |
/faultcodesubcategories
|
Ottieni le sottocategorie dei codici di errore. |
/faultcodedetails
|
Ottieni tutti i codici di errore con i dettagli. |
Ottenere informazioni sugli errori
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 API delle metriche.
Acquisire metriche per traffico e latenza
L'API delle metriche include 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 delle 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 risultati nel 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],
…
]
},
…
}
}]
}
Tieni presente che la proprietà columns specifica il formato di values. La proprietà values contiene il tps calcolato 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 precedente, 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 in formato ISO.
La durata massima specificata da from e to è di 24 ore.
Il formato della data può essere:
yyyy-mm-ddThh:mm:ssZyyyy-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 di latenza, specifica molti degli stessi criteri delle metriche di traffico. Tuttavia, per la risorsa /latency:
- Devi specificare il parametro di query
percentilecome50,90,95o99. Ad esempio, se specifichi90, l'API restituisce il valore della latenza totale della risposta nel 90° percentile. windowsizeè fisso a un minuto.
Ad esempio, per visualizzare le metriche per la 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 API Metrics.
Acquisire metriche per gli avvisi
L'API delle metriche restituisce metriche per tutti gli avvisi, per un avviso specifico o un riepilogo degli avvisi. Ad esempio, per ottenere la cronologia degli avvisi per 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 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 l'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 API delle metriche.