Włączam dzienniki debugowania NGINX na routerach

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

W Apigee routery są skonfigurowane tak, aby domyślnie logowały tylko komunikaty o błędach w plikach logów błędów. Jednak aby ustalić, dlaczego wystąpił określony błąd, może być jednak konieczne zebranie większej ilości informacji. Jednym ze sposobów jest skonfigurowanie routera w taki sposób, aby działał w trybie debugowania. Dzięki temu będziesz mieć dostęp do logów debugowania, które pomogą Ci zebrać więcej informacji o błędzie i szybciej go rozwiązać.

Ten dokument wyjaśnia, jak włączyć logi debugowania w routerze Apigee Edge dla żądań wysyłanych do określonego hosta wirtualnego. Logowanie debugowania można włączyć, aby rejestrować więcej informacji w przypadku wystąpienia problemów, takich jak nieprawidłowe żądanie ( 400 Bad Request – SSL Certificate Error) na stronie Northbound (między aplikacją klienta a routerem).

Zanim zaczniesz

  • Jeśli nie znasz dzienników błędów NGINX i poziomów rejestrowania, zapoznaj się z dokumentacją logów błędów NGINX.
  • Zbierz organizacje, środowiska i nazwy hostów wirtualnych żądań do interfejsu API, dla których chcesz zbierać dane debugowania.

Włączanie logów debugowania NGINX w routerach

W tej sekcji dowiesz się, jak włączyć logi debugowania w routerach brzegowych.

Określenie odpowiedniego pliku konfiguracji hosta wirtualnego

Oto jak znaleźć w routerze odpowiedni plik konfiguracji hosta wirtualnego:

  1. Jeśli znasz nazwę organizacji, nazwę środowiska i hosta wirtualnego dla konkretnego żądania interfejsu API, które chcesz debugować, określ plik konfiguracji hosta wirtualnego w ten sposób:
    1. Przejdź do katalogu /opt/nginx/conf.d/.
    2. Wyszukaj plik 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ć plik konfiguracji hosta wirtualnego przy użyciu nazwy aliasu hosta, która jest używana w żądaniu do interfejsu API w następujący sposób:

    Przejdź do katalogu /opt/nginx/conf.d/ i wyszukaj hostalias, dla którego wysłano żądanie za pomocą tego polecenia:

    ls -ltrh | grep -r 'HOST_ALIAS_NAME'
    

    Przykładowe wyniki:

    Załóżmy, że nazwa aliasu hosta to opdk.cert-test.com. Po uruchomieniu polecenia ls -ltrh zobaczysz dane wyjściowe tak jak poniżej:

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

Poniżej znajdziesz instrukcje włączania logów debugowania w routerach Apigee dla określonego hosta wirtualnego.

  1. Otwórz w edytorze ten plik na routerze: /opt/nginx/conf.d/ORG_NAME_ENV_NAME_VIRTUALHOST_NAME.conf. 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. Przykład:
    sudo /opt/nginx/scripts/apigee-nginx reload
    
  5. Ten plik będzie teraz przechwytywać logi debugowania:
    /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log
    
  6. Jeśli chcesz przechwytywać logi debugowania na więcej niż 1 routerze, powtórz te czynności na każdym z nich.

Dane debugowania są sprawdzane w pliku dziennika błędów NGINX

  1. Gdy klient wyśle żądania do interfejsu API na alias hosta i port powiązany z konfiguracją hosta wirtualnego, logi debugowania zostaną przechwycone w tym pliku:

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

  2. Sprawdź, czy widzisz dane debugowania dotyczące żądań 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żym ładunkiem. Ten dziennik jest wyświetlany tylko wtedy, gdy jest włączone logowanie debugowania.

  3. Jeśli nie widzisz dodatkowych informacji na temat debugowania, sprawdź, czy zostały wykonane wszystkie czynności opisane w sekcji Włączanie logowania debugowania dla określonego hosta wirtualnego w routerze. Jeśli pominięto jakiś krok, powtórz wszystkie kroki ponownie.
  4. Jeśli nadal nie możesz uzyskać danych debugowania, skontaktuj się z zespołem pomocy Apigee Edge.

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

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

  1. Otwórz w edytorze ten plik na routerze: /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. Przykład:
    /opt/nginx/scripts/apigee-nginx reload
    
  5. Ten plik będzie teraz przechwytywać tylko logi błędów:
    /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log
    
  6. Jeśli chcesz zatrzymać logi debugowania na więcej niż 1 routerze, powtórz te czynności na każdym z nich.

W pliku dziennika błędów NGINX rejestrowane są tylko informacje o błędzie

  1. Wyślij żądania do interfejsu API na alias hosta i port powiązany z konkretną konfiguracją hosta wirtualnego lub poczekaj, aż klienci wyślą żądania.
  2. Sprawdź ten plik: /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log
  3. Sprawdź, czy wyświetlane są tylko informacje o błędzie, a dane debugowania dla żądań nie są już logowane.
  4. Jeśli dodatkowe dane debugowania są nadal logowane, sprawdź, czy zostały wykonane wszystkie czynności opisane w sekcji Wyłączanie logów debugowania określonego hosta wirtualnego w routerze. Jeśli pominięto jakiś krok, powtórz wszystkie kroki ponownie.
  5. Jeśli nadal nie możesz uzyskać danych debugowania, skontaktuj się z zespołem pomocy Apigee Edge.