🌐 Как парсить логи доступа nginx

Мануал

Если вы хотите оптимизировать свой веб-сервер, необходимо понимать access логи Nginx.

Ведение логов (журналов) – это единственное критически важное действие, которое вы предпринимаете перед возникновением проблемы.

Оно также играет свою роль в обнаружении дефектов в веб-разработке.

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

Для анализа и мониторинга вашего веб-сервера необходимо разбирать логи Nginx.

🌐 Как анализировать и интерпретировать логи вебсервера Apache

Как разобрать access логи Nginx

Как пользователь Linux, вы можете использовать два метода для парсинга доступа к Nginx.

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

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

В этой статье будут продемонстрированы оба метода разбора логов доступа Nginx.

Итак, давайте начнем!

Как спарсить журнал доступа Nginx для получения списка IP-адресов

В этом разделе будет показано, как получить IP-адреса клиентов с помощью команды Linux.

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

Учитывая, что логи доступа Nginx сохраняются в директории “/var/log”, выполнение приведенной ниже команды позволит спарсить журналы доступа Nginx и получить список IP-адресов пользователей:

sudo cat /var/log/nginx/access.log | awk '{ print $1}' | sort | uniq -c | sort

Как спарсить логи доступа Nginx для получения списка доступа к файлам

В ситуации, когда вы хотите проверить список файлов, к которым обращаются пользователи вашего сервера, введите в терминале приведенные ниже команды и нажмите “Enter”:

Как спарсить логи доступа Nginx для подсчета количества запросов в секунду

Вы можете выполнить эту операцию, выполнив простую команду Linux, а именно:
sudo cat /var/log/nginx/access.log | awk '{print $4}' | uniq -c | sort -rn | head
В результате выполнения приведенной выше команды все запросы будут отсортированы, и для каждого из них будет проставлена временная метка.
Здесь первое число представляет собой количество запросов:

Как спарсить логи доступа Nginx для получения кодов ответов

Трехзначный код состояния ответа HTTP возвращается тогда, когда веб-сервер получает запрос от пользователя сайта.
Этот код указывает на событие, которое должно произойти.
Например, код ответа “301” означает “Постоянно перемещен”, в то время как “200” говорит: “Хорошо, вот содержимое, которое вы запросили”.
Вы можете проанализировать журналы доступа Nginx для получения кодов ответа.
Для этого в терминале Linux выполните приведенные ниже команды:

Как спарсить логи доступа Nginx с помощью онлайн-анализаторов

Неважно, используете ли вы Nginx в качестве сервера статического контента, балансировщика нагрузки или веб-сервера, вы наверняка захотите просмотреть журналы доступа, чтобы понять, насколько хорошо он работает.

Существует несколько вариантов инструментов Nginx, например Goaccess, Visitors, ELK Stack.

Вы можете выбрать инструмент анализатора в соответствии с вашими требованиями.

Однако для демонстрации процедуры разбора журналов доступа Nginx с помощью онлайн-анализатора мы выбрали Goaccess.

Чтобы использовать Goaccess для разбора журналов доступа Nginx, необходимо сначала установить его в вашей системе:

sudo apt install goaccess
или
$ sudo install goaccess
Более подробное использование инструмента:

Заключение

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

Добавить комментарий