Stai visualizzando la documentazione di Apigee Edge.
Vai alla
documentazione di Apigee X. informazioni
Utilizza le API descritte di seguito per ottenere le metriche di monitoraggio delle API. Le metriche sono i valori dei dati aggregati da API Monitoring dai dati non elaborati contenuti nei log di monitoraggio delle API.
Le seguenti sezioni descrivono come gestire le metriche utilizzando l'API.
- API di Metrics
- Ricevere informazioni sugli errori
- Acquisisci le metriche relative a traffico e latenza
- Acquisire le metriche per gli avvisi
Consulta API Metrics per ulteriori informazioni sull'API delle metriche.
Per informazioni sulle opzioni cURL utilizzate in questi esempi, consulta Utilizzo di 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 proxy, intervallo, finestra temporale, target, codice di stato e molti altri. |
/latency
|
Ottieni metriche di latenza per le richieste
a Edge e a destinazioni del backend. Specifica filtri come nome proxy, intervallo, target, codice di stato e molti altri. |
/targets
|
Ottieni tutti i domini di destinazione per un'organizzazione e un ambiente specifici. |
/alerthistory
|
Ricevere metriche della cronologia degli avvisi per un'organizzazione e un periodo di tempo specifici. |
/alertinstance/instanceid
|
Ricevi le metriche della cronologia degli avvisi per l'ID istanza di avviso specifico. |
/alertsummary
|
Visualizza il conteggio totale degli avvisi per un'organizzazione e la finestra temporale. |
/faultcodenames
|
Recupera tutti i nomi dei codici di errore. |
/faultcodes
|
Ricevi i codici di errore. |
/faultcodecategories
|
Ottieni categorie di codici di errore. |
/faultcodesubcategories
|
Ottieni sottocategorie di codici di errore. |
/faultcodedetails
|
Ottieni tutti i codici di errore con i dettagli. |
Recupero informazioni sull'errore
Tutte le risorse /fault*
restituiscono metadati sui possibili errori su Edge.
Ad esempio, per visualizzare l'elenco di tutte le categorie di errore possibili:
curl -X GET \ "https://apimonitoring.enterprise.apigee.com/metrics/faultcodecategories" \ -H "accept: application/json" \ -H "Authorization: Bearer $ACCESS_TOKEN"
Imposta $ACCESS_TOKEN
sul token di accesso OAuth 2.0, come descritto in
Ottenere un token di accesso per OAuth 2.0.
La risposta apparirà come segue:
{
"faultCodeCategories":[
"","API Protocol","Developer/App","Extension Policy","Gateway",
"Mediation Policy","Mint","Security Policy","Sense","Traffic Mgmt Policy"
]
}
Puoi quindi determinare l'elenco di 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 ulteriori opzioni, consulta l'articolo sull'API Metrics.
Acquisisci le metriche relative a traffico e latenza
L'API Metrics dispone di filtri che puoi applicare all'API per specificare intervalli di tempo personalizzati, proxy, regioni, ambienti e altri filtri alle metriche calcolate. Ad esempio, per visualizzare la metrica relativa alle 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 token di accesso OAuth 2.0, come descritto in
Ottenere un token di accesso per OAuth 2.0.
Questa chiamata restituisce i 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],
…
]
},
…
}
}]
}
Nota come la proprietà columns
specifica il formato di values
. La proprietà values
contiene i tps calcolati 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 viene 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: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 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 consiste nell'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 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 di latenza totale della risposta nel 90° percentile. 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 ulteriori opzioni, consulta la sezione API Metrics.
Acquisisci metriche per gli avvisi
L'API Metrics restituisce metriche per tutti gli avvisi, per un avviso specifico o per un riepilogo degli avvisi. Ad esempio, per ricevere la cronologia degli avvisi di un'organizzazione relativa all'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 token di accesso OAuth 2.0, come descritto in
Ottenere un token di accesso per 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 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 ulteriori opzioni, consulta l'articolo sull'API Metrics.