W tym artykule omówimy, jak skonfigurować i wyświetlić dzienniki Nginx w Ubuntu 20.04 system do monitorowania działań aplikacji.
Istnieją dwa rodzaje dzienników, w których zdarzenia rejestrowane w Nginx to dziennik dostępu, a drugi to dziennik błędów. Jeśli włączyłeś już te logi w podstawowym pliku konfiguracyjnym Nginx, możesz znaleźć oba typy dzienników w /var/log/nginx we wszystkich dystrybucjach Linuksa.
Dziennik dostępu Nginx
Wszystkie działania związane z odwiedzającymi witrynę są rejestrowane w logach dostępowych. W dzienniku tego typu można znaleźć te pliki, do których ostatnio uzyskano dostęp, jak Nginx odpowiedział na żądanie klienta, adresy IP klienta, jakiej przeglądarki używa klient i nie tylko. Korzystając z informacji z dziennika dostępu, możesz monitorować ruch, aby znaleźć wykorzystanie witryny w czasie. Jeśli odpowiednio monitorujesz logi dostępowe, możesz łatwo znaleźć nietypowe żądania wysyłane przez użytkownika w celu sprawdzenia błędów we wdrożonej aplikacji.
Włącz dziennik dostępu Nginx
Dziennik dostępu, który możesz włączyć za pomocą dyrektywy access_log w sekcji serwera lub w HTTP.
access_log log_file log_format;Pierwszy argument „plik_dziennika” jest obowiązkowy, a drugi argument jest opcjonalny, „format_logu”. Jeśli nie wspomnisz o formacie dziennika, logi będą wpisywane w domyślnym formacie łączonym.
Dziennik dostępu jest domyślnie zdefiniowany w pliku konfiguracyjnym Nginx. Tak więc wszystkie logi dostępu wirtualnego hosta będą przechowywane w tym samym pliku konfiguracyjnym.
http…
access_log /var/log/nginx/access.log;
…
Zaleca się oddzielenie dzienników dostępu wszystkich wirtualnych hostów poprzez zapisanie ich do nowego oddzielnego pliku.
http…
…
access_log /var/log/nginx/access.log;
serwer
posłuchaj 80;
Przykład nazwy serwera.com
access_log /var/log/nginx/przykład.dostęp.log;
…
…
Załaduj ponownie nowe konfiguracje NGINX. Teraz możesz odwiedzić logi dostępu dla przykładu.domena com w pliku /var/log/nginx/example.dostęp.log, za pomocą następującego polecenia:
$ ogon sudo -f /var/log/nginx/przykład.dostęp.logDostosuj format w dzienniku dostępu
Wyjaśnijmy przykład definiowania niestandardowego formatu dziennika dostępu. Domyślnie dziennik dostępu jest zapisywany w połączonym formacie dziennika. Dlatego możesz rozszerzyć predefiniowany format o wartość odpowiedzi gzip dla współczynnika kompresji.
httplog_format niestandardowy '$remote_addr - $remote_user [$time_local]'
'"$request" $status $body_bytes_sent '
'"$http_referer" "$http_user_agent" "$gzip_ratio"';
serwer
gzip włączony;
…
access_log /var/log/nginx/przykład.dostęp.dziennik zwyczaj;
…
Po wprowadzeniu wszystkich zmian w konfiguracji Nginx, załaduj ponownie Nginx, a następnie uruchom polecenie tail, aby wyświetlić współczynnik gzip na końcu dziennika zdarzeń.
$ ogon sudo -f /var/log/nginx/przykład.dostęp.logDziennik błędów NGINX
Jeśli NGINX nagle przestanie działać lub nie działa poprawnie, zarejestruje wszystkie zdarzenia w dzienniku błędów. Dlatego korzystając z dzienników błędów można znaleźć więcej szczegółów. Rejestruje również ostrzeżenia, ale nie może zidentyfikować problemu, który wystąpił.
Włącz dziennik błędów
Poniższa składnia dyrektywy error_log:
error_log log_file log_level;W powyższej składni pierwszy argument reprezentuje ścieżkę pliku dziennika, a drugi argument określa poziom bezpieczeństwa zdarzenia dziennika.
Wspomnieliśmy poniżej przykład, w którym wykonanie overridingu w dyrektywie error_log w kontekście serwera.
http…
…
dziennik_błędów /var/log/nginx/dziennik_błędów;
serwer
posłuchaj 80;
nazwa_serwera przykład1.pl;
dziennik_błędów /var/log/nginx/przykład1.ostrzeżenie dziennik_błędów;
…
serwer
posłuchaj 80;
nazwa_serwera przykład2.pl;
dziennik_błędów /var/log/nginx/przykład2.debugowanie dziennika błędów;
…
l
Jeśli musisz wyłączyć dziennik błędów, przypisz nazwę pliku dziennika do /dev/null.
dziennik_błędów /dev/null;
Poziom bezpieczeństwa dziennika błędów Nginx
W dzienniku błędów możesz użyć następującego poziomu bezpieczeństwa:
- wyłonić się: Gdy system jest niestabilny, używany do wysyłania wiadomości alarmowych
- alarm: Generuj powiadomienia o poważnych problemach.
- kryt: Używany w przypadku krytycznych problemów do natychmiastowego rozliczenia.
- błąd: Podczas przetwarzania strony może wystąpić błąd.
- ostrzec: Używany do komunikatu ostrzegawczego
- ogłoszenie: Zwróć uwagę na dziennik, który możesz również zignorować.
- informacje: Informacje, wiadomości
- odpluskwić: Wskazuje lokalizację błędu używaną do debugowania informacji.
Wniosek
Dostęp do Nginx i dzienniki błędów są przydatne do rejestrowania niektórych działań. Dowiedzieliśmy się, jak możemy włączyć i wyświetlić te typy dzienników Nginx w naszym systemie Linux Linux. To wszystko o dziennikach Nginx.