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.
- API Metrics
- Ottenere informazioni sull'errore
- Acquisire le metriche per il traffico e la latenza
- Acquisire le metriche per gli avvisi
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
come50
,90
,95
o99
. Ad esempio, se specifichi90
, 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.