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

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

Pobierz dzienniki monitorowania interfejsu API, aby wyświetlić nieprzetworzone dane służące do obliczania danych wyświetlanych w panelach monitorowania interfejsu API. Możesz pobierać dzienniki z niestandardowych przedziałów czasu, konkretnych serwerów proxy, konkretnych 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 kodami 2xx. Ma to na celu ograniczenie liczby wyników, ponieważ większość z nich ma kod stanu 2xx. Aby uzyskać wyniki z kodem stanu 2xx, dodaj status=2xx do żądania. Na przykład: https://apimonitoring.enterprise.apigee.com/logs?status=2xx.

W następnych sekcjach opisaliśmy, jak zarządzać logami za pomocą interfejsu API:

Więcej informacji o interfejsie Logs API znajdziesz w artykule Interfejs Logs API.

Informacje o opcjach cURL użytych w tych przykładach znajdziesz w artykule Używanie cURL.

Pobieranie logów organizacji i środowiska

Pobierz dzienniki dotyczące konkretnej 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 dzienniku z poprzedniej godziny. Na 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 wartość $ACCESS_TOKEN na token dostępu OAuth 2.0 zgodnie z opisem w sekcji Uzyskiwanie tokena dostępu OAuth 2.0.

Odpowiedź to tablica wpisów z logu w formie:

[   
  {
"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ć przedział czasu w formacie ISO, użyj parametrów zapytania fromto. 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/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 rekordów dziennika, 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 interfejsie Logs API.

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

Wirtualny host w Edge Routerze umożliwia określenie nazwy domeny, protokołu (np. HTTP/HTTPS) i numeru portu. Na przykład zdefiniujesz hosta wirtualnego na przekaźniku krawędzi z tymi ustawieniami:

  • alias hosta = apis.acme.com
  • port = 443
  • TLS włączony

Na podstawie tych ustawień żądanie wysłane do serwera 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 definiowany podczas tworzenia serwera proxy interfejsu API i jest niepowtarzalny dla każdego serwera proxy.
  • ścieżka-do-zasobu to ścieżka do zasobu dostępnego za pomocą serwera proxy interfejsu API.

Więcej informacji o wirtualnych hostach znajdziesz w artykule Wirtualni hostowie.

Pobierz listę serwerów proxy interfejsu API powiązanych z konkretnym 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 identyfikatora URI powiązanego z hostem wirtualnym i ścieżką podstawową.

Na przykład to wywołanie interfejsu API zwraca proxy powiązane z wirtualnym hostem 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 wartość $ACCESS_TOKEN na token dostępu OAuth 2.0 zgodnie z opisem w sekcji Uzyskiwanie tokena dostępu OAuth 2.0.

Więcej opcji znajdziesz w interfejsie Logs API.