ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)
Понедельник, 31 марта, 2025
Сегодня у нас 1 праздник:
Международный День Резервного Копирования (World Backup Day). Пользователи сайта социальных новостей reddit предложили сделать дату 31.03 Международным днём резервного копирования, аргументируя это тем, что никогда заранее нельзя узнать, какие сюрпризы преподнесёт 1.04

Как просмотреть журналы Nginx

Как просмотреть журналы Nginx

Журналы очень важны в системе для отслеживания действий приложения, поскольку они предоставляют полезную информацию для отладки и позволяют анализировать все аспекты веб-сервера. Как и другие программные приложения, Nginx также поддерживает такие события, как посещение вашего веб-сайта, обнаруженные проблемы и многое другое, для регистрации файлов. Полезная записанная информация используется для принятия превентивных мер, чтобы иметь дело с серьезными несоответствиями в событиях журнала.

В этой статье мы подробно рассмотрим, как настраивать и просматривать журналы Nginx в системе Ubuntu 20.04 для отслеживания действий приложения.

Существует два типа журналов, в которых записанные события в Nginx: один — это журнал доступа, а другой — журнал ошибок. Если вы уже включили эти журналы в файле конфигурации ядра Nginx, вы можете найти оба типа журналов в /var/log/nginx во всех дистрибутивах Linux.

 

Журнал доступа Nginx

Все действия, связанные с посетителями сайта, фиксируются в журналах доступа. В этом типе журнала вы можете найти те файлы, к которым недавно осуществлялся доступ, как Nginx ответил на запрос клиента, IP-адреса клиентов, какой браузер использует клиент и многое другое. Используя информацию журнала доступа, вы можете отслеживать трафик, чтобы отслеживать использование сайта с течением времени. Если вы правильно отслеживаете журналы доступа, вы можете легко найти некоторые необычные запросы, которые отправляет пользователь, чтобы проверить недостатки в развернутом приложении.

 

Включить журнал доступа Nginx

Журнал доступа можно включить с помощью директивы access_log либо в разделе сервера, либо в HTTP.

access_log log_file log_format;

 

Первый аргумент, log_file, является обязательным, а второй аргумент — необязательным, log_format. Если вы не укажете формат журнала, журналы будут набираться в комбинированном формате по умолчанию.

Журнал доступа определяется по умолчанию в файле конфигурации Nginx. Таким образом, все журналы доступа к виртуальному хосту будут храниться в одном файле конфигурации.

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

Рекомендуется разделить журналы доступа всех виртуальных хостов, записав их в новый отдельный файл.

http {
...
...
access_log  /var/log/nginx/access.log;server {
listen 80;
Server_name example.com
access_log  /var/log/nginx/example.access.log;
...
...
}
}

Перезагрузите новые конфигурации NGINX. Теперь вы можете просмотреть журналы доступа для домена example.com в файле /var/log/nginx/example.access.log, используя следующую команду:

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

Настроить формат в журнале доступа

Давайте объясним пример для определения настраиваемого формата журнала доступа. По умолчанию журнал доступа записывается в комбинированном формате журнала. Следовательно, вы можете расширить предопределенный формат значением ответа gzip для степени сжатия.

http {
log_format custom '$remote_addr - $remote_user [$time_local] '
'"$request" $status $body_bytes_sent '
'"$http_referer" "$http_user_agent" "$gzip_ratio"';server {
gzip on;
...
access_log /var/log/nginx/example.access.log custom;
...
}
}

 

После внесения всех изменений в конфигурацию Nginx перезагрузите Nginx и затем запустите команду tail, чтобы отобразить коэффициент сжатия в конце журнала событий.

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

Журнал ошибок NGINX

Если NGINX внезапно прекращает работу или работает некорректно, он записывает все события в журнал ошибок. Поэтому, используя журналы ошибок, вы можете найти более подробную информацию. Он также записывает предупреждения, но не может определить возникшую проблему.

 

Включить журнал ошибок

Следующий синтаксис директивы error_log:

error_log log_file log_level;

 

В приведенном выше синтаксисе первый аргумент представляет путь к файлу журнала, а второй аргумент определяет уровень безопасности события журнала.

Мы упомянули пример ниже, в котором выполняется переопределение в директиве error_log в контексте сервера.

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;
server_name example2.com;
error_log  /var/log/nginx/example2.error_log  debug;
...
}
}

Если вам необходимо отключить журнал ошибок, присвойте файлу журнала имя /dev/null.

error_log /dev/null;

 

Журнал ошибок уровня безопасности Nginx

В журнале ошибок вы можете использовать следующий уровень безопасности:

  1. emerg: Когда ваша система нестабильна, используется для экстренных сообщений.
  2. alert: создание предупреждений о серьезных проблемах.
  3. crit: используется для критических проблем для немедленного решения.
  4. crit: при обработке страницы может возникнуть ошибка.
  5. warn: используется для предупреждающего сообщения
  6. note: Обратите внимание на журнал, который также можно игнорировать.
  7. info: Для информации, сообщения
  8. debug: указывает местоположение ошибки, используемое для отладки.

 

Вывод

Журналы доступа и ошибок Nginx полезны для записи определенных действий. Мы узнали, как можно включить и просмотреть эти типы журналов Nginx в нашей системе Linux. Это все о журналах Nginx.

Exit mobile version