Jak przeglądać logi Nginxa?

Logi są bardzo ważne w systemie do monitorowania działań aplikacji, ponieważ dostarczają użytecznych informacji i pozwalają analizować wszystkie aspekty serwera WWW. Podobnie jak inne aplikacje, Nginx również zachowuje zdarzenia, takie jak odwiedzający witrynę, napotkane problemy i inne, w plikach dziennika. Przydatne nagrane informacje są wykorzystywane do podjęcia środków zapobiegawczych w celu radzenia sobie z poważnymi poważnymi rozbieżnościami w zdarzeniach log.

W tym artykule, będziemy rozwijać na jak skonfigurować i wyświetlić Nginx Logs w Ubuntu 20.04 systemu do monitorowania działań application.

Są dwa rodzaje dzienników, gdzie nagrane zdarzenia w Nginx jeden jest dziennik dostępu, a drugi jest dziennik błędów. Jeśli już włączyłeś te dzienniki w pliku konfiguracyjnym rdzenia 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 stronę są rejestrowane w dziennikach dostępu. W tego typu dziennikach można znaleźć pliki, które były ostatnio otwierane, w jaki sposób Nginx odpowiedział na żądanie klienta, adresy IP klientów, z jakiej przeglądarki korzysta klient i wiele innych. Wykorzystując informacje z dziennika dostępu, można monitorować ruch w celu znalezienia wykorzystania witryny w czasie. Jeśli prawidłowo monitorujesz logi dostępu, możesz łatwo znaleźć jakieś nietypowe żądania, które są wysyłane przez użytkownika, aby sprawdzić błędy we wdrożonej aplikacji.

Włącz logi dostępu Nginx

Dziennik dostępu możesz włączyć za pomocą dyrektywy access_log w sekcji serwera lub w HTTP.

access_log log_file log_format;

Pierwszy argument, 'log_file' jest obowiązkowy, podczas gdy drugi argument jest opcjonalny, 'log_format'. Jeśli nie podasz formatu logu, wówczas logi będą wpisywane w domyślnym połączonym formacie.

Dziennik dostępu jest domyślnie zdefiniowany w pliku konfiguracyjnym Nginx. Tak więc, wszystkie logi dostępowe hostów wirtualnych będą przechowywane w tym samym pliku konfiguracyjnym.

http {

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

}

Zaleca się rozdzielenie logów dostępowych wszystkich hostów wirtualnych poprzez zapis do nowego, osobnego pliku.

http {
….

access_log /var/log/nginx/access.log;
server {
listen 80;
nazwa_serwera example.com
access_log /var/log/nginx/example.access.log;


}
}

Reloaduj nową konfigurację NGINX. Teraz możesz sprawdzić logi dostępowe dla domeny example.com w pliku /var/log/nginx/example.access.log, używając następującego polecenia:

$ sudo tail -f /var/log/nginx/example.access.log

Dostosowywanie formatu w dzienniku dostępu

Przybliżmy przykład definiowania niestandardowego formatu dziennika dostępu. Domyślnie dziennik dostępu jest zapisywany w połączonym formacie dziennika. Dlatego można rozszerzyć predefiniowany format o wartość odpowiedzi gzip dla współczynnika kompresji.

http {
log_format custom '$remote_addr – $remote_user '
'”$request” $status $body_bytes_sent '
'”$http_referer” „$http_user_agent” „$gzip_ratio”';
server {
gzip on;

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

}
}

Po wprowadzeniu wszystkich zmian w konfiguracji Nginx, przeładuj Nginx, a następnie uruchom polecenie tail, aby wyświetlić współczynnik gzip na końcu dziennika zdarzeń.

$ sudo tail -f /var/log/nginx/example.access.log

Dziennik błędów NGINX

Jeśli NGINX nagle przestanie działać lub nie będzie działał prawidłowo, zarejestruje wszystkie zdarzenia w dzienniku błędów. Dlatego używając dzienników błędów, możesz 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

Następująca składnia dyrektywy error_log:

error_log log_file log_level;

W powyższej składni pierwszy argument reprezentuje ścieżkę do pliku dziennika, a drugi określa poziom bezpieczeństwa zdarzenia dziennika.

Poniżej przedstawiliśmy przykład, w którym wykonujemy nadpisanie dyrektywy error_log w kontekście serwera.

http {


error_log /var/log/nginx/error_log;
server {
listen 80;
server_name example1.com;
error_log /var/log/nginx/example1.error_log warn;

}
server {
listen 80;
nazwa_serwera example2.com;
error_log /var/log/nginx/example2.error_log debug;

}
}l

Gdy wymagane jest wyłączenie dziennika błędów, należy przypisać nazwę pliku dziennika do /dev/null.

error_log /dev/null;

Poziom bezpieczeństwa dziennika błędów Nginx

Następujące poziomy bezpieczeństwa można stosować w dzienniku błędów:

  1. emerg: Kiedy twój system jest niestabilny, używany dla wiadomości awaryjnych
  2. alert: Generuje wiadomości ostrzegawcze o poważnych problemach.
  3. crit: Używany dla krytycznych problemów do natychmiastowego rozwiązania.
  4. error: Podczas przetwarzania strony może wystąpić błąd.
  5. warn: Używane dla komunikatu ostrzegawczego
  6. notice: Dziennik powiadomień, który można również zignorować.
  7. info: Dla informacji, komunikatów
  8. debug: Wskazuje lokalizację błędu używaną dla informacji o debugowaniu.

Wnioski

Dzienniki dostępu i błędów Nginx są przydatne do rejestrowania pewnych działań. Dowiedzieliśmy się jak możemy włączyć i przeglądać te typy logów Nginx w naszym systemie Linux. To już wszystko na temat logów Nginx.

Dodaj komentarz

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