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

Przeglądasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X.
Informacje

Pobierz logi monitorowania interfejsów API, aby wyświetlić nieprzetworzone dane używane do obliczania wskaźników wyświetlanych w panelach monitorowania interfejsów API. Możesz pobrać logi niestandardowych zakresów czasu, serwerów proxy, kodów stanu oraz 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. Ma to na celu ograniczenie liczby wyników, ponieważ większość wyników ma kod stanu 2xx. Aby uzyskać wyniki z kodem stanu 2xx, dodaj do żądania status=2xx. Na przykład: https://apimonitoring.enterprise.apigee.com/logs?status=2xx.

W tych sekcjach opisano, jak zarządzać logami przy użyciu interfejsu API:

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

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

Pobieranie logów dla organizacji i środowiska

Pobierz logi dla określonej organizacji i środowiska przy użyciu 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 ostatnich wpisów logu z ostatniej 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 w $ACCESS_TOKEN token dostępu OAuth 2.0 zgodnie z opisem w sekcji Uzyskiwanie tokena dostępu OAuth 2.0.

Odpowiedź to tablica wpisów logu w formacie:

[   
  {
"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"
  },
  …
]

Użyj parametrów zapytania from i to do określenia zakresu czasu w formacie ISO. 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ć dzienniki serwera proxy o nazwie myAPI generującej 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 dzienniku, ustaw parametr zapytania limit. Maksymalna wartość to 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"

Dodatkowe opcje znajdziesz w artykule Logs API.

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

Host wirtualny w routerze brzegowym umożliwia określenie nazwy domeny, protokołu, na przykład HTTP/HTTPS, i numeru portu. Możesz na przykład zdefiniować hosta wirtualnego w routerze brzegowym z tymi ustawieniami:

  • alias hosta = apis.acme.com
  • port = 443
  • Włączono TLS

Przy uwzględnieniu tych ustawień żądanie do serwera proxy interfejsu API powiązanego z tym hostem wirtualnym ma postać:

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

Gdzie:

  • Ścieżka proxy-base-path jest definiowana podczas tworzenia serwera proxy interfejsu API. Jest ona niepowtarzalna dla każdego serwera proxy interfejsu API.
  • ścieżka-zasobu to ścieżka do zasobu dostępnego przez serwer proxy interfejsu API.

Więcej informacji o hostach wirtualnych znajdziesz w artykule Informacje o hostach wirtualnych.

Pobierz listę serwerów proxy interfejsu API powiązanych z określonym hostem wirtualnym i ścieżką bazową, 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ą bazową.

Na przykład to wywołanie interfejsu API zwraca serwery proxy powiązane z hostem wirtualnym http://apis.acme.com i ścieżką bazową /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 w $ACCESS_TOKEN token dostępu OAuth 2.0 zgodnie z opisem w sekcji Uzyskiwanie tokena dostępu OAuth 2.0.

Dodatkowe opcje znajdziesz w artykule Logs API.