Wyświetlanie logów przy użyciu interfejsu API

Wyświetlasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X.
info

Pobierz logi API Monitoring, aby wyświetlić dane pierwotne używane do obliczania danych wyświetlanych w panelach API Monitoring. Możesz pobierać logi z niestandardowych zakresów czasu, określonych serwerów proxy, określonych kodów stanu i wielu innych zmiennych.

Uwaga: domyślnie wywołania interfejsu Logs API zwracają tylko wyniki z kodami stanu 4xx i 5xx, ale nie z kodem 2xx. Dzieje się tak, aby ograniczyć liczbę wyników, ponieważ większość z nich ma kod stanu 2xx. Aby uzyskać wyniki z kodem stanu 2xx, dodaj do żądania status=2xx. Przykład: https://apimonitoring.enterprise.apigee.com/logs?status=2xx.

W kolejnych sekcjach opisujemy, jak zarządzać logami za pomocą interfejsu API:

Więcej informacji o interfejsie Logs API znajdziesz w dokumentacji Logs API.

Informacje o opcjach cURL używanych w tych przykładach znajdziesz w artykule zobacz Korzystanie z cURL.

Pobieranie logów z organizacji i środowiska

Pobierz logi z określonej organizacji i środowiska za pomocą interfejsu Logs API:

https://apimonitoring.enterprise.apigee.com/logs

Musisz przekazać nazwę organizacji i środowiska za pomocą parametrów zapytania org i env.

Domyślnie interfejs API zwraca 10 najnowszych wpisów w logach z poprzedniej godziny. Przykład:

curl -X GET \
"https://apimonitoring.enterprise.apigee.com/logs?org=myorg&env=prod" \
-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ź to tablica wpisów w logach w postaci:

[   
  {
"request":"GET /v1/o/myorg/z HTTP/1.1",
    "request_length":1349,
    "request_message_id":"rrt-0623eb157b650315c-c-ne-7785-16029140-1",
    "virtual_host":"api.enterprise.apigee.com",
    "response_size":144,
    "response_time":0.551,
    "response_status":"404",
    "timestamp":"2018-08-14T17:31:07Z",
    "fault_code":"messaging.adaptors.http.flow.ErrorResponseCode",
    "fault_flow":"-",
    "fault_policy":"null/null",
    "fault_proxy":
        "/organizations/myorg/environments/prod/apiproxies/myAPI/revisions/50",
    "fault_source":"target"
  },
  …
]

Aby określić zakres czasu w formacie ISO, użyj parametrów zapytania from i to. Format daty może być jeden z tych:

  • yyyy-mm-ddThh:mm:ssZ
  • yyyy-mm-ddThh:mm:ss+00:00

Przykład:

curl -X GET \
"https://apimonitoring.enterprise.apigee.com/logs?org=myorg&env=prod&from=2018-08-13T14%3A04%3A00Z&to=2018-08-13T14%3A10%3A00Z" \
-H "accept: application/json" \
-H "Authorization: Bearer $ACCESS_TOKEN"

Interfejs API ma wiele opcjonalnych parametrów zapytania. Aby na przykład wyświetlić logi serwera proxy o nazwie myAPI generującego odpowiedzi HTTP 404:

curl -X GET \
"https://apimonitoring.enterprise.apigee.com/logs?org=myorg&env=prod&proxy=myAPI&status=404" \
-H "accept: application/json" \
-H "Authorization: Bearer $ACCESS_TOKEN"

Aby zwrócić więcej niż 10 wpisów w logach, ustaw parametr zapytania limit. Możesz ustawić maksymalną wartość 1000:

curl -X GET \
"https://apimonitoring.enterprise.apigee.com/logs?org=myorg&env=prod&proxy=myAPI&status=404&limit=200" \
-H "accept: application/json" \
-H "Authorization: Bearer $ACCESS_TOKEN"

Więcej opcji znajdziesz w dokumentacji Logs API.

Wyświetlanie listy serwerów proxy powiązanych z hostem wirtualnym i ścieżką podstawową

Host wirtualny w routerze Edge umożliwia określenie nazwy domeny, protokołu (np. HTTP/HTTPS) i numeru portu. Na przykład możesz zdefiniować hosta wirtualnego w routerze Edge z tymi ustawieniami:

  • alias hosta = apis.acme.com
  • port = 443
  • Przy użyciu TLS

Na podstawie tych ustawień żądanie do proxy interfejsu API powiązanego z tym hostem wirtualnym ma postać:

https://apis.acme.com/proxy-base-path/resource-path

Gdzie:

  • proxy-base-path jest definiowana podczas tworzenia proxy interfejsu API i jest unikalna dla każdego proxy interfejsu API.
  • resource-path to ścieżka do zasobu dostępnego przez proxy interfejsu API.

Więcej informacji o hostach wirtualnych znajdziesz w artykule Hosty wirtualne.

Pobierz listę serwerów proxy API powiązanych z określonym hostem wirtualnym i ścieżką podstawową, wysyłając żądanie GET do tego zasobu interfejsu Logs API:

https://apimonitoring.enterprise.apigee.com/logs/apiproxies

Musisz przekazać nazwę organizacji i środowiska za pomocą parametrów zapytania org i env, a także identyfikator URI powiązany z hostem wirtualnym i ścieżką podstawową.

Na przykład to wywołanie interfejsu API zwraca serwery proxy powiązane z hostem wirtualnym http://apis.acme.com i ścieżką podstawową /v1/perf:

curl -X GET \
"https://apimonitoring.enterprise.apigee.com/logs/apiproxies?org=myorg&env=prod&select=http://apis.acme.com/v1/perf" \
-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.

Więcej opcji znajdziesz w dokumentacji Logs API.