Włączam dzienniki debugowania NGINX na routerach

Przeglądasz dokumentację Apigee Edge.
Przejdź do Dokumentacja Apigee X.
informacje.

W Apigee routery są skonfigurowane tak, aby logowały tylko komunikaty o błędach w plikach logów błędów przez wartość domyślną. Jednak w wielu sytuacjach konieczne może być zebranie dodatkowych informacji, określić przyczynę wystąpienia danego błędu. Jednym ze sposobów osiągnięcia tego celu jest skonfigurowanie routera działać w trybie debugowania, co pozwoli na pobieranie dzienników debugowania, które pomogą Ci zdobyć więcej informacji o tym błędzie i szybciej go rozwiązać.

Ten dokument wyjaśnia, jak włączyć logi debugowania w routerze Apigee Edge dla żądań w z konkretnym hostem wirtualnym. Logowanie debugowania można włączyć, aby rejestrować więcej informacji, gdy są takie jak nieprawidłowe żądanie, 400 Bad Request – SSL Certificate Error (Nieprawidłowe żądanie – błąd certyfikatu SSL) na stronie W kierunku północnym (między aplikacją kliencką i routerem).

Zanim zaczniesz

  • Jeśli nie wiesz, czym są logi błędów i poziomy logowania NGINX, zapoznaj się z artykułem Dokumentacja logów błędów NGINX.
  • Zbierz nazwy organizacji, środowiska i hostów wirtualnych dla żądań do interfejsu API, dla których musisz zbierać dane na potrzeby debugowania.

Włączam logi debugowania NGINX w routerach

Ta sekcja wyjaśnia, jak włączyć dzienniki debugowania w routerach brzegowych.

Identyfikowanie odpowiedniego pliku konfiguracji hosta wirtualnego

Te kroki pokazują, jak znaleźć w routerze odpowiedni plik konfiguracji hosta wirtualnego:

  1. Jeśli znasz nazwę organizacji, nazwę środowiska i hosta wirtualnego dla określonego interfejsu API żądania, które chcesz debugować, określ plik konfiguracyjny hosta wirtualnego w ten sposób:
    1. Przejdź do katalogu /opt/nginx/conf.d/.
    2. Szukaj pliku ORG_NAME_ENV_NAME_VIRTUALHOST.conf w katalogu conf.d za pomocą tego polecenia:
      ls -ltrh | grep "ORG_NAME_ENV_NAME_VIRTUALHOST_NAME"
      
  2. Jeśli nie znasz nazwy organizacji, możesz zidentyfikować konfigurację hosta wirtualnego używając nazwy aliasu hosta używanej w żądaniu do interfejsu API w następujący sposób:

    Przejdź do katalogu /opt/nginx/conf.d/ i wyszukaj hasło hostalias, w przypadku którego żądanie zostało przesłane za pomocą tego polecenia:

    ls -ltrh | grep -r 'HOST_ALIAS_NAME'
    

    Przykładowe wyniki:

    Załóżmy, że alias hosta to opdk.cert-test.com. Po uruchomieniu ls -ltrh, zobaczysz dane wyjściowe, które znajdziesz poniżej:

Włączanie logowania debugowania dla określonego hosta wirtualnego w routerze

Poniższe kroki opisują, jak włączyć logi debugowania na routerach Apigee dla określonego hosta wirtualnego.

  1. Otwórz ten plik na routerze w edytorze: /opt/nginx/conf.d/ORG_NAME_ENV_NAME_VIRTUALHOST_NAME.conf Na przykład:
    vi /opt/nginx/conf.d/ORG_NAME_ENV_NAME_VIRTUALHOST_NAME.conf
    
  2. Zmień ten wiersz:
    error_log /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log error;
    

     

    error_log /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log info;
    
  3. Zapisz zmiany.
  4. Uruchom polecenie ponownego załadowania NGINX. Na przykład:
    sudo /opt/nginx/scripts/apigee-nginx reload
    
  5. Ten plik będzie teraz przechwytywać dzienniki debugowania:
    /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log
    
  6. Jeśli chcesz przechwytywać dzienniki debugowania na więcej niż jednym routerze, powtórz te kroki na każdym z routerów lub routerami.

Weryfikowanie informacji debugowania jest logowane w pliku dziennika błędów NGINX

  1. Gdy klienty wysyłają żądania do interfejsu API do aliasu hosta i portu powiązanego z hostem wirtualnym , dzienniki debugowania będą zapisywane w tym pliku:

    /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log

  2. Sprawdź, czy widzisz informacje debugowania dotyczące żądań do interfejsu API, tak jak w tym przykładzie:

    Przykładowe informacje na potrzeby debugowania:

    2021/01/27 02:48:40 [warn] 27624#27624: *3777 a client request body is buffered to a temporary file /opt/apigee/var/log/edge-router/nginx/client_temp/0000000001, client: XX.XX.XX.XX, server: XX.XX.XX.XX, request: "POST /post-no-target HTTP/1.1", host: "XX.XX.XX.XX:443"
    

    Powyższe informacje zostaną przechwycone, gdy klient wyśle żądanie POST z dużych ładunków. Ten dziennik będzie widoczny tylko wtedy, gdy włączone jest logowanie debugowania.

  3. Jeśli nie widzisz dodatkowych informacji na temat debugowania, sprawdź, czy zostały wykonane wszystkie kroki opisane w sekcji Prawidłowo włącz logowanie debugowania dla określonego hosta wirtualnego w routerze. Jeśli pominął jakieś kroki, poprawnie powtórz wszystkie kroki.
  4. Jeśli nadal nie możesz uzyskać danych debugowania, skontaktuj się z zespołem pomocy Apigee Edge.

Wyłączanie dzienników debugowania dla określonego hosta wirtualnego w routerze

W tej sekcji wyjaśniamy, jak wyłączyć dzienniki debugowania w routerze w przypadku określonego hosta wirtualnego.

  1. Otwórz ten plik na routerze w edytorze: /opt/nginx/conf.d/ORG_NAME_ENV_NAME_VIRTUALHOST_NAME.conf Na przykład:
    vi /opt/nginx/conf.d/ORG_NAME_ENV_NAME_VIRTUALHOST_NAME.conf
    
  2. Zmień ten wiersz:

    error_log /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log info;
    

     

    error_log /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log error;
    
  3. Zapisz zmiany.
  4. Uruchom polecenie ponownego załadowania NGINX. Na przykład:
    /opt/nginx/scripts/apigee-nginx reload
    
  5. Ten plik będzie teraz przechwytywać tylko dzienniki błędów:
    /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log
    
  6. Jeśli chcesz zatrzymać dzienniki debugowania na więcej niż jednym routerze, powtórz te kroki na każdym z routerów Routery.

Sprawdzanie, czy w pliku dziennika błędów NGINX są rejestrowane tylko informacje o błędach

  1. Wyślij żądania do interfejsu API do aliasu hosta i portu powiązanego z konkretnym hostem wirtualnym lub poczekaj na przesłanie żądań przez klientów.
  2. Sprawdź ten plik: /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log
  3. Sprawdź, czy widzisz tylko informacje o błędzie, a informacje debugowania już nie są dla żądań.
  4. Jeśli nadal widzisz dodatkowe informacje na potrzeby debugowania, sprawdź, czy wykonał wszystkie kroki opisane w Prawidłowo wyłączę dzienniki debugowania dla określonego hosta wirtualnego w routerze. Jeśli pominął jakieś kroki, poprawnie powtórz wszystkie kroki.
  5. Jeśli nadal nie możesz uzyskać danych debugowania, skontaktuj się z Obsługa Apigee Edge