Nginx Log Analyzer
Nginx Log Analyzer - небольшая утилита для анализа логов nginx. Полезный инструмент для обнаружения слабых (а точнее медленных) мест Вашей Web системы, если Вы пользуетесь этим популярным Web-сервером. Использование этой утилиты полезно для оценочного отлавливания медленных скриптов (и не только скриптов).
Особенности
- Показывает таблицу самых медленных запросов (суммарное время и количество, среднее время обработки)
- Показывает суммарное количество запросов, сгруппированных по HTTP коду (удобно для отслеживания поломок)
- Обладает возможностью анализировать лог выборочно (для ускорения работы анализа)
Требования
Утилита написана на PHP5 и использует регулярные выражения PCRE для анализа. Необходимо иметь установленный php5-cli, доступный из /usr/bin/php5 (хотя путь можно отредактировать в самом скрипте).
Поскольку стандартный вид лог файла nginx имеет несколько ограничений по собираемым данным, то его нужно поправить:
log_format main '$remote_addr - [$time_local] "$host" "$request" '
'$status ($bytes_sent) "$http_referer" '
'"$uri $args" [$request_time]';
...
access_log /var/log/nginx/access.log main;
Установка
Для установки нужно скачать архив. Разархивируйте и можно выполнять:
Параметры вызова:
./nginx-log-analyzer log-path [skip-factor]
skip-factor - это количество строк лог файла, через которое выбирается и анализируется следующая строка. Удобно для быстрого прогона по большим лог файлам для поверхностной оценки. Полный анализ происходит когда skip-factor = 1 (значение по умолчанию).
Например:
# ./nginx-log-analyzer /var/log/nginx/access.log 1000
После этого увидите статистику следующего вида:

Пояснения:
Суммарные показатели
- Request types - количество запросов по типу (GET, POST и т.д.)
- Request timing - суммарное время обработки по типам запросов
- Request statuses - Количество запросов по HTTP коду
В детальной статистике представлены показатели, сгруппированные по шаблонам запросов. Шаблоны получаются из запросов после замены всех чисел на “[x]” (в большинстве случаев, числа в запросах - это идентификаторы либо другие параметры).
Детальная статистика по шаблонам запросов
- Calls - Общее количество запросов
- Total time - Общее время обработки
- Response rate - Скорость отдачи - среднее время обработки одного запроса


Комментарии