Wyświetlasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X. Informacje
Aby uzyskać dane monitorowania interfejsu API, użyj opisanych poniżej interfejsów API. Dane to wartości danych zagregowane przez Monitorowanie interfejsu API na podstawie danych źródłowych zawartych w rejestrach Monitorowania interfejsu API.
W następnych sekcjach znajdziesz opis tego, jak zarządzać danymi za pomocą interfejsu API.
- Interfejsy API danych
- Uzyskiwanie informacji o usterce
- Rejestrowanie danych o ruchu i opóźnieniach
- Zbieranie danych o alertach
Więcej informacji o interfejsie Metrics API znajdziesz w artykule Metrics API.
Informacje o opcjach cURL użytych w tych przykładach znajdziesz w artykule Używanie cURL.
Interfejsy API dotyczące danych
Podstawowy adres URL, którego używasz do wysyłania żądania GET do interfejsu API danych jest:
https://apimonitoring.enterprise.apigee.com/metrics/resource
Gdzie resource odpowiada konkretnemu typowi danych. W poniższej tabeli znajdziesz zasoby danych:
Zasób | Opis |
/traffic
|
Pobieranie danych o ruchu. Określ filtry takie jak nazwa serwera proxy, interwał, okno czasowe, cel, kod stanu i wiele innych. |
/latency
|
Pobieranie danych o opóźnieniach żądań
do miejsc docelowych Edge i backendu. Określ filtry takie jak nazwa serwera proxy, interwał, cel, kod stanu i wiele innych. |
/targets
|
Pobierz wszystkie domeny docelowe dla konkretnej organizacji i środowiska. |
/alerthistory
|
Uzyskaj dane o historii alertów dotyczące konkretnej organizacji i okresu czasu. |
/alertinstance/instanceid
|
Pobieranie danych o historii alertów dla konkretnego identyfikatora wystąpienia alertu. |
/alertsummary
|
Zwraca łączną liczbę alertów dla organizacji i okresu czasu. |
/faultcodenames
|
Pobierz wszystkie nazwy kodów błędów. |
/faultcodes
|
Uzyskaj kody błędów. |
/faultcodecategories
|
Pobieraj kategorie kodów błędów. |
/faultcodesubcategories
|
Uzyskaj podkategorie kodu błędu. |
/faultcodedetails
|
Pobierz wszystkie kody błędów z szczegółami. |
Pobieranie informacji o usterce
Wszystkie zasoby /fault*
zwracają metadane o możliwych błędach 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 wartość $ACCESS_TOKEN
na token dostępu OAuth 2.0 zgodnie z opisem w sekcji Uzyskiwanie tokena dostępu OAuth 2.0.
Odpowiedź 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 w 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"
Więcej opcji znajdziesz w interfejsie Metrics API.
Rejestrowanie danych o ruchu i opóźnieniach
Interfejs Metrics API zawiera filtry, które możesz stosować w interfejsie API, aby określać niestandardowe zakresy czasu, proxy, regiony, środowiska i inne filtry dla obliczonych danych. Aby np. wyświetlić dane „Transakcje na sekundę” (TPS) co 10 minut w przypadku wszystkich środowisk w ciągu ostatniej godziny:
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 wartość $ACCESS_TOKEN
na token dostępu OAuth 2.0 zgodnie z opisem w sekcji Uzyskiwanie tokena dostępu OAuth 2.0.
To wywołanie zwraca wyniki w takim formacie:
{
"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 właściwości values
. Właściwość values
zawiera liczbę tps obliczaną co 10 minut dla poprzedniego 10-minutowego przedziału.
Parametr zapytania interval
określa częstotliwość zapisywania danych w wynikach oraz okno próbkowania wartości w wynikach. W przykładzie powyżej dane są obliczane na podstawie poprzednich 10 minut i zapisywane w wynikach co 10 minut.
Aby określić przedział czasu w formacie ISO, użyj parametrów zapytania from
i to
.
Maksymalny czas określony przez parametry from
i to
wynosi 24 godziny.
Format daty może być:
yyyy-mm-ddThh:mm:ssZ
yyyy-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ć zakres czasowy względny, np. ostatnią godzinę:
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ć liczbę transakcji na sekundę (tps) dla pojedynczego 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 czasie oczekiwania podaj wiele takich samych kryteriów co w przypadku danych o ruchu. Jednak w przypadku zasobu /latency
:
- Parametr zapytania
percentile
musi być określony jako50
,90
,95
lub99
. Jeśli na przykład podasz parametr90
, interfejs API zwróci łączną wartość opóźnienia odpowiedzi w 90. percentylu. windowsize
jest ustawiony na 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"
Więcej opcji znajdziesz w interfejsie Metrics API.
Rejestrowanie danych o alertach
Interfejs Metrics API zwraca dane o wszystkich alertach, o konkretnym alarmie lub o podsumowaniu alertów. Aby na przykład wyświetlić historię alertów 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 wartość $ACCESS_TOKEN
na token dostępu OAuth 2.0 zgodnie z opisem w sekcji Uzyskiwanie tokena dostępu OAuth 2.0.
To wywołanie interfejsu API zwraca odpowiedź w formie:
[
{
"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ć elementu id
w zwróconym tablicy, aby uzyskać informacje o konkretnym alarmie:
curl -X GET \ "https://apimonitoring.enterprise.apigee.com/metrics/alertinstance/983c4c7a-c301-4697-95cc-9a7c53e05fac" \ -H "accept: application/json" \ -H "Authorization: Bearer $ACCESS_TOKEN"
Więcej opcji znajdziesz w interfejsie Metrics API.