Sie sehen die Dokumentation zu Apigee Edge.
Zur Apigee X-Dokumentation weitere Informationen
Verwenden Sie die unten beschriebenen APIs, um API-Monitoringmesswerte abzurufen. Messwerte sind die Datenwerte, die von API-Monitoring aus den Rohdaten in den API-Monitoring-Logs aggregiert werden.
In den folgenden Abschnitten wird beschrieben, wie Messwerte mithilfe der API verwaltet werden.
- Metrics APIs
- Fehlerinformationen abrufen
- Messwerte für Traffic und Latenz erfassen
- Messwerte für Benachrichtigungen erfassen
Weitere Informationen zur Metrik-API finden Sie unter Metrik-API.
Informationen zu den in diesen Beispielen verwendeten cURL-Optionen finden Sie unter cURL verwenden.
Messwert-APIs
Die Basis-URL, die Sie verwenden, um eine GET-Anfrage an die Metrics API zu senden, lautet:
https://apimonitoring.enterprise.apigee.com/metrics/resource
Dabei entspricht resource einem bestimmten Messwert. In der folgenden Tabelle sind die Messwertressourcen aufgeführt:
Ressource | Beschreibung |
/traffic
|
Rufen Sie Traffic-Messwerte ab. Geben Sie Filter an, z. B. Proxy-Name, Intervall, Zeitfenster, Ziel, Statuscode usw. |
/latency
|
Latenzmesswerte für Anfragen abrufen
an Edge- und Backend-Ziele. Geben Sie Filter wie Proxy-Name, Intervall, Ziel, Statuscode und viele weitere an. |
/targets
|
Rufen Sie alle Zieldomains für eine bestimmte Organisation und Umgebung ab. |
/alerthistory
|
Rufen Sie Benachrichtigungsverlaufsmesswerte für eine bestimmte Organisation und ein bestimmtes Zeitfenster ab. |
/alertinstance/instanceid
|
Rufen Sie Alert-Verlaufsmesswerte für die spezifische Alert-Instanz-ID ab. |
/alertsummary
|
Rufen Sie die Gesamtzahl der Benachrichtigungen für eine Organisation und ein Zeitfenster ab. |
/faultcodenames
|
Ruft alle Fehlercodenamen ab. |
/faultcodes
|
Fehlercodes abrufen. |
/faultcodecategories
|
Fehlercode-Kategorien abrufen. |
/faultcodesubcategories
|
Erhalten Sie Fehlercode-Unterkategorien. |
/faultcodedetails
|
Holen Sie sich alle Fehlercodes mit Details. |
Fehlerinformationen abrufen
Die /fault*
-Ressourcen geben alle Metadaten zu den möglichen Fehlern in Edge zurück.
So können Sie beispielsweise die Liste aller möglichen Fehlerkategorien anzeigen:
curl -X GET \ "https://apimonitoring.enterprise.apigee.com/metrics/faultcodecategories" \ -H "accept: application/json" \ -H "Authorization: Bearer $ACCESS_TOKEN"
Stellen Sie $ACCESS_TOKEN
auf Ihr OAuth 2.0-Zugriffstoken ein, wie unter OAuth 2.0-Zugriffstoken anfordern beschrieben.
Die Antwort wird so angezeigt:
{
"faultCodeCategories":[
"","API Protocol","Developer/App","Extension Policy","Gateway",
"Mediation Policy","Mint","Security Policy","Sense","Traffic Mgmt Policy"
]
}
Sie können dann die Liste der Fehlercodes für die Kategorie API Protocol
erstellen:
curl -X GET \ "https://apimonitoring.enterprise.apigee.com/metrics/faultcodes?faultCodeCategory=API Protocol" \ -H "accept: application/json" \ -H "Authorization: Bearer $ACCESS_TOKEN"
Weitere Optionen finden Sie in der Metrics API.
Messwerte für Traffic und Latenz erfassen
Die Metrics API verfügt über Filter, die Sie auf die API anwenden können, um benutzerdefinierte Zeitbereiche, Proxys, Regionen, Umgebungen und andere Filter für die berechneten Messwerte anzugeben. So können Sie beispielsweise die Messwerte für Transaktionen pro Sekunde (tps) alle zehn Minuten für die vorherige Stunde für alle Umgebungen anzeigen:
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"
Stellen Sie $ACCESS_TOKEN
auf Ihr OAuth 2.0-Zugriffstoken ein, wie unter OAuth 2.0-Zugriffstoken anfordern beschrieben.
Dieser Aufruf gibt Ergebnisse in der folgenden Form zurück:
{
"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],
…
]
},
…
}
}]
}
Beachten Sie, wie die Eigenschaft columns
das Format von values
angibt. Das Attribut values
enthält die tps, die alle 10 Minuten für das vorherige 10-Minuten-Intervall berechnet wurden.
Der Abfrageparameter interval
definiert die Häufigkeit, mit der der Messwert in den Ergebnissen gespeichert wird, und das Stichprobenfenster für den Wert in den Ergebnissen. Im obigen Beispiel wird der Messwert über die letzten 10 Minuten berechnet und alle 10 Minuten in die Ergebnisse geschrieben.
Verwenden Sie die Abfrageparameter from
und to
, um einen ISO-formatierten Zeitbereich anzugeben.
Die maximale Dauer durch from
und to
beträgt 24 Stunden.
Folgende Datumsformate sind möglich:
yyyy-mm-ddThh:mm:ssZ
yyyy-mm-ddThh:mm:ss+00:00
Beispiel:
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"
Oder verwenden Sie die Abfrageparameter from
und to
, um einen relativen Zeitraum anzugeben, z. B. für die letzte Stunde:
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"
Eine weitere Option besteht darin, den proxy
-Abfrageparameter zu verwenden, um Transaktionen pro Sekunde (tps) für einen einzelnen Proxy anzuzeigen:
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"
Geben Sie für Latenzmetriken viele der gleichen Kriterien wie für Verkehrsmetriken an. Für die Ressource /latency
gilt jedoch Folgendes:
- Sie müssen den
percentile
-Abfrageparameter als50
,90
,95
oder99
angeben. Wenn Sie beispielsweise90
angeben, gibt die API den gesamten Antwortlatenzwert im 90. Perzentil zurück. windowsize
ist auf eine Minute festgelegt.
So rufen Sie beispielsweise die Messwerte für die Gesamtlatenz im 90. Perzentil für ein 1-minütiges Zeitfenster auf:
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"
Weitere Optionen finden Sie unter Metrics API.
Messwerte für Benachrichtigungen erfassen
Die Metrics API gibt Messwerte für alle Warnungen, für eine bestimmte oder eine Warnungszusammenfassung zurück. So rufen Sie beispielsweise den Alarmverlauf einer Organisation für die letzte Stunde ab:
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"
Stellen Sie $ACCESS_TOKEN
auf Ihr OAuth 2.0-Zugriffstoken ein, wie unter OAuth 2.0-Zugriffstoken anfordern beschrieben.
Dieser API-Aufruf gibt eine Antwort in der folgenden Form zurück:
[
{
"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"
},
…
]
Sie können dann id
im zurückgegebenen Array verwenden, um Informationen zu einer bestimmten Warnung abzurufen:
curl -X GET \ "https://apimonitoring.enterprise.apigee.com/metrics/alertinstance/983c4c7a-c301-4697-95cc-9a7c53e05fac" \ -H "accept: application/json" \ -H "Authorization: Bearer $ACCESS_TOKEN"
Weitere Optionen finden Sie in der Metrics API.