Przeglądasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X. Informacje
Aby uzyskać wskaźniki monitorowania interfejsów API, użyj interfejsów API opisanych poniżej. Wskaźniki to wartości danych agregowanych przez API Monitoring z nieprzetworzonych danych zawartych w logach monitorowania interfejsu API.
W kolejnych sekcjach opisano, jak zarządzać wskaźnikami za pomocą interfejsu API.
- Interfejsy API wskaźników
- Uzyskiwanie informacji o błędach
- Rejestrowanie danych o ruchu i opóźnieniu
- Rejestrowanie danych na potrzeby alertów
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 wskaźników
Podstawowy adres URL, którego używasz do wysyłania żądania GET do interfejsu API wskaźników, to:
https://apimonitoring.enterprise.apigee.com/metrics/resource
Gdzie resource odpowiada określonym danym. Poniższa tabela zawiera zasoby wskaźników:
Zasób | Opis |
/traffic
|
Uzyskaj dane o ruchu. Określ filtry, takie jak nazwa serwera proxy, interwał, przedział czasu, cel, kod stanu i wiele innych. |
/latency
|
Pobieranie wskaźników czasu oczekiwania dla żądań
do celów brzegowych i zaplecza. Określ filtry, takie jak nazwa serwera proxy, interwał, cel, kod stanu i wiele innych. |
/targets
|
Pobierz wszystkie domeny docelowe dla określonej organizacji i środowiska. |
/alerthistory
|
Pobierz dane historii alertów dotyczące określonej organizacji i przedziału czasu. |
/alertinstance/instanceid
|
Pobieranie wskaźników historii alertów dotyczących konkretnego identyfikatora instancji alertu. |
/alertsummary
|
Zobacz łączną liczbę alertów dla organizacji w danym przedziale czasu. |
/faultcodenames
|
Pobierz wszystkie nazwy kodów błędów. |
/faultcodes
|
Wyświetl kody błędów. |
/faultcodecategories
|
Pobierz kategorie kodów błędów. |
/faultcodesubcategories
|
Pobierz podkategorie kodów błędów. |
/faultcodedetails
|
Uzyskaj wszystkie kody błędów ze szczegółowymi informacjami. |
Uzyskaj informacje o błędzie
Wszystkie zasoby /fault*
zwracają metadane dotyczące możliwych błędów w Edge.
Aby na przykład zobaczyć 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 w $ACCESS_TOKEN
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"
Dodatkowe opcje znajdziesz w artykule Metrics API.
Rejestruj dane o ruchu i czasie oczekiwania
Interfejs Metrics API ma filtry, które możesz stosować w interfejsie API, by określać niestandardowe zakresy czasu, serwery proxy, regiony, środowiska i inne filtry w obliczonych danych. Aby na przykład wyświetlić wskaźnik transakcji na sekundę (tps) co 10 minut dla poprzedniej 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 w $ACCESS_TOKEN
token dostępu OAuth 2.0 zgodnie z opisem w sekcji Uzyskiwanie tokena dostępu OAuth 2.0.
Wyniki tego wywołania mają postać:
{
"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ę na to, że właściwość columns
określa format values
. Właściwość values
zawiera dane tps obliczane co 10 minut dla poprzedniego 10-minutowego interwału.
Parametr zapytania interval
określa częstotliwość zapisywania danych w wynikach oraz okno próbkowania wartości w wynikach. W tym przykładzie dane są obliczane na podstawie danych z poprzednich 10 minut i zapisywane w wynikach co 10 minut.
Użyj parametrów zapytania from
i to
do określenia zakresu czasu w formacie ISO.
Maksymalny czas trwania określony w polach from
i to
to 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ć względny zakres czasu, 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"
Innym sposobem jest użycie parametru zapytania proxy
do wyświetlania 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 wskaźników czasu oczekiwania określ wiele tych samych kryteriów co w przypadku danych o ruchu. Jednak dla zasobu /latency
:
- Parametr zapytania
percentile
musisz określić jako50
,90
,95
lub99
. Jeśli na przykład podasz90
, interfejs API zwróci łączną wartość czasu oczekiwania na odpowiedź w 90 centylu. windowsize
jest ustawiony na jedną minutę.
Aby na przykład wyświetlić dane dotyczące łącznego czasu oczekiwania w 90. centylu dla 1-minutowego okna:
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.
Rejestruj dane na potrzeby alertów
Interfejs Metrics API zwraca dane dotyczące wszystkich alertów, konkretnego alertu lub podsumowania alertu. Aby na przykład pobrać 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 w $ACCESS_TOKEN
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 formacie:
[
{
"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ó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.