Nginx to potężny serwer proxy na poziomie aplikacji. Niezależnie od tego, czy chodzi o rozwiązywanie problemów, czy analizę, powszechnym wymogiem jest włączenie poziomów dzienników i niestandardowych formatów dzienników dostępu/błędów.

dzienniki błędów

domyślnie rejestrowane są tylko komunikaty z kategorii błędów. Jeśli chcesz włączyć więcej szczegółów, zmodyfikuj nginx.,conf jak:

error_log file 

włączenie poziomu debugowania w Linuksie zwykle wygląda tak:

error_log /var/log/nginx/error.log debug;

dzienniki dostępu

dzienniki dostępu i ich format są również dostosowywane w nginx.conf. Domyślnie, jeśli nie podano formatu, zostanie użyty format kombinowany.

access_log file 

tak więc najczęstsza składnia w systemie Linux wygląda następująco:

access_log /var/log/nginx/access.log;

co jest odpowiednikiem jawnego określenia połączonego formatu jak poniżej:

Korzystanie z połączonego formatu dziennika może być bardzo wygodne, ponieważ tak wiele narzędzi do analizy dziennika (np., ELK lub splunk) mają wbudowane filtry do spożywania tych dzienników. Jednak, gdy istnieje potrzeba, na przykład gdy Nginx nasłuchuje na wielu portach i musisz wiedzieć, na którym porcie przybył ruch, sensowne jest odejście od połączonego formatu.

na przykład, jeśli chcesz dodać przybywający Port ruchu, użyjesz zmiennej $server_port i Twojego nginx.conf wyglądałby następująco:

inne dostępne zmienne można znaleźć w dokumentacji tutaj.