Logi dostępu NGINX i dzienniki błędów

logi są bardzo przydatne do monitorowania działań dowolnej aplikacji, oprócz dostarczania cennych informacji podczas rozwiązywania problemów.

jak każda inna aplikacja, NGINX rejestruje również zdarzenia, takie jak odwiedzający Twoją witrynę, napotkane problemy i inne pliki dziennika. Informacje te umożliwiają podjęcie działań zapobiegawczych w przypadku zauważenia poważnych rozbieżności w dziennikach zdarzeń.,w tym artykule dowiesz się, jak skonfigurować logowanie NGINX, aby mieć lepszy wgląd w jego działania.

warunek

  • zainstalowałeś już NGINX, postępując zgodnie z naszym tutorialem tutaj.

loguje w NGINX

domyślnie nginx zapisuje swoje zdarzenia w dwóch rodzajach dzienników – dzienniku błędów i Dzienniku dostępu., W większości popularnych dystrybucji Linuksa, takich jak Ubuntu, CentOS lub Debian, zarówno dziennik dostępu, jak i dziennik błędów można znaleźć w /var/log/nginx, zakładając, że włączyłeś już dzienniki dostępu i błędów w podstawowym pliku konfiguracyjnym NGINX.

pozwól nam dowiedzieć się więcej o dzienniku dostępu NGINX, dzienniku błędów i jak je włączyć, jeśli nie zrobiłeś tego wcześniej.co to jest dziennik dostępu NGINX?

NGINX rejestruje aktywność wszystkich odwiedzających Twoją witrynę w dziennikach dostępu., W tym miejscu możesz dowiedzieć się, które pliki są dostępne, jak NGINX odpowiedział na żądanie, jakiej przeglądarki używa klient, adres IP klientów i wiele innych. Możliwe jest wykorzystanie informacji z dziennika dostępu do analizy ruchu w celu znalezienia zastosowań witryn w czasie. Ponadto, poprzez prawidłowe monitorowanie dzienników dostępu, można dowiedzieć się, czy użytkownik wysyła jakieś nietypowe żądanie znalezienia wad we wdrożonej aplikacji internetowej.Co to jest dziennik błędów NGINX?

z drugiej strony, jeśli NGINX napotyka jakieś usterki, zapisze Zdarzenie do dziennika błędów., Może się to zdarzyć w przypadku wystąpienia błędu w pliku konfiguracyjnym. Dlatego jeśli NGINX nie jest w stanie uruchomić lub nagle przestał działać, powinieneś sprawdzić dzienniki błędów, aby znaleźć więcej szczegółów. Możesz również znaleźć kilka ostrzeżeń w dzienniku błędów, ale nie oznacza to, że wystąpił problem, ale zdarzenie może stanowić poważny problem w najbliższej przyszłości.

jak włączyć dziennik dostępu NGINX?

ogólnie dziennik dostępu może być włączony za pomocą dyrektywyaccess_log w sekcji http lub w sekcji Serwer., Pierwszy argument log_file jest obowiązkowy, podczas gdy drugi argument log_format jest opcjonalny. Jeśli nie podasz żadnego formatu, dzienniki będą zapisywane w domyślnym formacie kombinowanym.

access_log log_file log_format;

dziennik dostępu jest domyślnie włączony w kontekście http pliku konfiguracyjnego core NGINX. Oznacza to, że dziennik dostępu wszystkich wirtualnych hostów zostanie zapisany w tym samym pliku.

http { ... ... access_log /var/log/nginx/access.log; ... ...}

zawsze lepiej jest segregować dzienniki dostępu wszystkich wirtualnych hostów, zapisując je w osobnym pliku., Aby to zrobić, należy zastąpić dyrektywę access_log zdefiniowaną w sekcji http inną dyrektywą access_log w kontekście serwera.

Przeładuj NGINX, aby zastosować nowe ustawienia. Aby wyświetlić dzienniki dostępu dla domeny domain1.com w pliku /var/log/nginx/domain1.access.log użyj następującego polecenia tail w terminalu.

# tail -f /var/log/nginx/domain1.access.log

Zastosuj Niestandardowy Format w Dzienniku dostępu

domyślny format dziennika używany do rejestrowania zdarzeń w dzienniku dostępu to połączony format dziennika., Możesz nadpisać domyślne zachowanie, tworząc własny niestandardowy format dziennika, a następnie określić nazwę niestandardowego formatu w dyrektywie access_log.

poniższy przykład definiuje niestandardowy format dziennika poprzez rozszerzenie predefiniowanego formatu łączonego o wartość współczynnika kompresji gzip odpowiedzi. Format jest następnie stosowany przez wskazanie formatu dziennika za pomocą dyrektywy access_log.

Po zastosowaniu powyższego formatu dziennika w swoim środowisku, przeładuj NGINX. Teraz śledź dziennik dostępu, aby znaleźć współczynnik gzip na końcu zdarzenia dziennika.,

jak włączyć dziennik błędów NGINX?

dyrektywaerror_log ustawia rejestrowanie błędów do pliku, stderr lub syslog, określając minimalny poziom dotkliwości komunikatów o błędach, które mają być rejestrowane. Składnia dyrektywy error_log jest następująca:

error_log log_file log_level;

pierwszy argument log_file definiuje ścieżkę pliku dziennika, a drugi argument log_level określa poziom ważności zdarzenia dziennika, które ma być zarejestrowane. Jeśli nie podasz poziomu log_level, domyślnie rejestrowane są tylko zdarzenia o poziomie dotkliwości błędu.,

na przykład poniższy przykład ustawia poziom ważności komunikatów o błędach, które mają być zalogowane do crit. Ponadto dyrektywa error_log w kontekście http zakłada, że dziennik błędów dla wszystkich wirtualnych hostów będzie dostępny w jednym pliku.

http { ... error_log /var/log/nginx/error_log crit; ...}

możliwe jest również rejestrowanie dzienników błędów dla wszystkich wirtualnych hostów oddzielnie przez nadpisanie dyrektywy error_log w kontekście serwera. Poniższy przykład dokładnie to robi, nadpisując dyrektywę error_log w kontekście serwera.,

wszystkie opisane powyżej przykłady zapisują zdarzenia dziennika do pliku. Można również skonfigurować dyrektywę error_log do wysyłania zdarzeń dziennika do serwera syslog. Poniższa dyrektywa error_log wysyła logi błędów do serwera syslog o adresie IP 192.168.10.11 w formacie debug.

error_log syslog:server=192.168.10.11 debug;

w niektórych sytuacjach możesz wyłączyć dziennik błędów. Aby to zrobić, ustaw nazwę pliku dziennika na /dev/null.,

error_log /dev/null;

poziomy nasilenia dziennika błędów Nginx

istnieje wiele typów poziomów dziennika, które są powiązane ze zdarzeniem dziennika i mają inny priorytet. Wszystkie poziomy dziennika są wymienione poniżej. Na kolejnych poziomach dziennika debug ma najwyższy priorytet i obejmuje również pozostałe poziomy. Na przykład, jeśli określisz błąd jako poziom dziennika, przechwyci on również zdarzenia dziennika oznaczone jako kryt, alert i emergency.

  1. emergency messages when your system may be unstable.
  2. alert: komunikaty ostrzegawcze o poważnych problemach.,
  3. crit: krytyczne kwestie, którymi należy się zająć natychmiast.
  4. błąd: Wystąpił błąd. Coś poszło nie tak podczas przetwarzania strony.
  5. warn: komunikat ostrzegawczy, że należy się temu przyjrzeć.
  6. notice: proste powiadomienie dziennika, które można zignorować.
  7. info: tylko wiadomości informacyjne, które możesz chcieć wiedzieć.
  8. debug: debugowanie informacji używanych do określenia lokalizacji błędu.,

podsumowanie

dzienniki dostępu i błędów w NGINX będą nie tylko przechowywać kartę aktywności użytkowników, ale także oszczędzać twój czas i wysiłek w procesie debugowania. Ponadto możesz również dostosować dziennik dostępu, jeśli potrzebujesz więcej informacji do swojej dyspozycji. Zawsze lepiej jest włączyć dzienniki dostępu i błędów, ponieważ te dwa pliki zawierają wszystkie wskazówki dla lepszej konserwacji serwera NGINX.

Share

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *