Wyświetlasz dokumentację Apigee Edge.
Otwórz dokumentację
Apigee X. info
Aby uzyskać dane z API Monitoring, użyj interfejsów API opisanych poniżej. Dane to wartości zagregowane przez API Monitoring na podstawie danych pierwotnych zawartych w logach API Monitoring.
W sekcjach poniżej znajdziesz informacje o tym, jak zarządzać danymi za pomocą interfejsu API.
- Interfejsy API danych
- Pobieranie informacji o błędach
- Zbieranie danych o natężeniu ruchu i opóźnieniach
- Zbieranie danych o alertach
Więcej informacji o interfejsie API danych znajdziesz w artykule Metrics API.
Informacje o opcjach cURL używanych w tych przykładach znajdziesz w artykule zobacz Korzystanie z cURL.
Interfejsy API danych
Podstawowy adres URL, którego używasz do wysyłania żądania GET do interfejsu API danych, to:
https://apimonitoring.enterprise.apigee.com/metrics/resource
gdzie resource odpowiada konkretnym danym. W tabeli poniżej znajdziesz listę zasobów danych:
| Zasób | Opis |
/traffic
|
Pobieranie danych o natężeniu ruchu. Określ filtry, takie jak nazwa serwera proxy, interwał, okno czasowe, miejsce docelowe, kod stanu i wiele innych. |
/latency
|
Pobieranie danych o opóźnieniach żądań
do Edge i miejsc docelowych backendu. Określ filtry, takie jak nazwa serwera proxy, interwał, miejsce docelowe, kod stanu i wiele innych. |
/targets
|
Pobieranie wszystkich domen docelowych dla konkretnej organizacji i środowiska. |
/alerthistory
|
Pobieranie danych z historii alertów dla konkretnej organizacji i okna czasowego. |
/alertinstance/instanceid
|
Pobieranie danych z historii alertów dla konkretnego identyfikatora instancji alertu. |
/alertsummary
|
Pobieranie łącznej liczby alertów dla organizacji i okna czasowego. |
/faultcodenames
|
Pobieranie wszystkich nazw kodów błędów. |
/faultcodes
|
Pobieranie kodów błędów. |
/faultcodecategories
|
Pobieranie kategorii kodów błędów. |
/faultcodesubcategories
|
Pobieranie podkategorii kodów błędów. |
/faultcodedetails
|
Pobieranie wszystkich kodów błędów ze szczegółami. |
Pobieranie informacji o błędach
Wszystkie zasoby /fault* zwracają metadane dotyczące możliwych błędów w Edge.
Aby na przykład wyświetlić listę wszystkich możliwych kategorii błędów:
curl -X GET \ "https://apimonitoring.enterprise.apigee.com/metrics/faultcodecategories" \ -H "accept: application/json" \ -H "Authorization: Bearer $ACCESS_TOKEN"
Ustaw $ACCESS_TOKEN na token dostępu OAuth 2.0 zgodnie z opisem w
Uzyskiwanie tokena dostępu OAuth 2.0.
Odpowiedź będzie wyglądać tak:
{
"faultCodeCategories":[
"","API Protocol","Developer/App","Extension Policy","Gateway",
"Mediation Policy","Mint","Security Policy","Sense","Traffic Mgmt Policy"
]
}
Następnie możesz określić listę kodów błędów dla kategorii API Protocol:
curl -X GET \ "https://apimonitoring.enterprise.apigee.com/metrics/faultcodes?faultCodeCategory=API Protocol" \ -H "accept: application/json" \ -H "Authorization: Bearer $ACCESS_TOKEN"
Dodatkowe opcje znajdziesz w artykule Metrics API.
Zbieranie danych o natężeniu ruchu i opóźnieniach
Interfejs Metrics API ma filtry, które możesz zastosować do interfejsu API, aby określić niestandardowe zakresy czasu, serwery proxy, regiony, środowiska i inne filtry dla obliczonych danych. Aby na przykład wyświetlić dane dotyczące transakcji na sekundę (tps) co 10 minut w ciągu ostatniej godziny we wszystkich środowiskach:
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"
Ustaw $ACCESS_TOKEN na token dostępu OAuth 2.0 zgodnie z opisem w
Uzyskiwanie tokena dostępu OAuth 2.0.
To wywołanie zwraca wyniki w postaci:
{
"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],
…
]
},
…
}
}]
}
Zwróć uwagę, że właściwość columns określa format values. Właściwość values zawiera dane tps obliczane co 10 minut w poprzednim 10-minutowym przedziale czasu.
Parametr zapytania interval określa częstotliwość zapisywania danych w wynikach oraz okno próbkowania wartości w wynikach. W powyższym przykładzie dane są obliczane na podstawie ostatnich 10 minut i zapisywane w wynikach co 10 minut.
Aby określić zakres czasu w formacie ISO, użyj parametrów zapytania from i to.
Maksymalny czas trwania określony przez from i to to 24 godziny.
Format daty może być jeden z tych:
yyyy-mm-ddThh:mm:ssZyyyy-mm-ddThh:mm:ss+00:00
Na przykład:
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"
Możesz też użyć parametrów zapytania from i to, aby określić względny zakres czasu, np. w ciągu ostatniej godziny:
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"
Inną opcją jest użycie parametru zapytania proxy, aby wyświetlić transakcje na sekundę (tps) dla jednego serwera 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"
W przypadku danych o opóźnieniach określ wiele tych samych kryteriów co w przypadku danych o natężeniu ruchu. Jednak w przypadku zasobu /latency:
- Musisz określić parametr zapytania
percentilejako50,90,95lub99. Jeśli na przykład określisz wartość90, interfejs API zwróci łączną wartość opóźnienia odpowiedzi w 90. percentylu. - Wartość
windowsizejest stała i wynosi 1 minutę.
Aby na przykład wyświetlić dane dotyczące łącznego opóźnienia w 90. percentylu w oknie 1-minutowym:
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"
Dodatkowe opcje znajdziesz w artykule Metrics API.
Zbieranie danych o alertach
Interfejs Metrics API zwraca dane dotyczące wszystkich alertów, konkretnego alertu lub podsumowania alertów. Aby na przykład uzyskać historię alertów organizacji z ostatniej godziny:
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"
Ustaw $ACCESS_TOKEN na token dostępu OAuth 2.0 zgodnie z opisem w
Uzyskiwanie tokena dostępu OAuth 2.0.
To wywołanie interfejsu API zwraca odpowiedź w postaci:
[
{
"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"
},
…
]
Następnie możesz użyć id w zwróconej tablicy, aby uzyskać informacje o konkretnym alercie:
curl -X GET \ "https://apimonitoring.enterprise.apigee.com/metrics/alertinstance/983c4c7a-c301-4697-95cc-9a7c53e05fac" \ -H "accept: application/json" \ -H "Authorization: Bearer $ACCESS_TOKEN"
Dodatkowe opcje znajdziesz w artykule Metrics API.