Плагины статистики по времени обработки запроса NGINX для Munin. Основаны на обработке единственного параметра из лога доступа. По умолчанию, информация о времени не записывается в логи, это поведение необходимо предварительно настроить.
$request_time
- время обработки запроса в секундах с точностью до миллисекунд; время, прошедшее с момента чтения первых байт от клиента до момента записи в лог после отправки последних байт клиенту.
Doc: ngx_http_log_module
Настроить формат лога nginx для работы плагина и перезагрузить nginx. В конфигурации NGINX всегда существует предопределённый формат combined, необходимо дописать в конец единственный параметр rt=$request_time
log_format main '$remote_addr - $remote_user [$time_local] '
'"$request" $status $body_bytes_sent '
'"$http_referer" "$http_user_agent"'
'rt=$request_time';
access_log /var/log/nginx/access.log main;
service nginx reload
Обрабатываются как успешные 200 так и разрывы соединения 499 - ошибка NGINX когда пользователь не дождался ответа сервера. В других реализациях плагина эти строки(499) игнорируюстя, но они несут непосредственную важность.
Плагин описываемый в статье работать не будет. Тот код либо устарел, либо изначально опубликован с ошибками, либо выложен некорректно.
Формирует график по времени успешного (код 200) запроса. Менее 0.05 / 0.10 / 0.25 / 0.5 / 0.75 / 1 / 1.5 / 2 секунды Менее 3 и более 3 секунд. В последнюю ментрику попадают все запросы дольше трех секунд.
Тоже самое, только включает также запросы завершившихся 499 кодом. Менее 0.05 / 0.1 / 0.5 секунды. Менее 1 и более 1 секунд. В последнюю ментрику попадают все запросы дольше одной секунд. Читает последние 100K строк из лога.
Статисика прерванных запросов завершившихся 499 кодом. Специфический код ошибки для Nginx означающий, что клиент закрыл соединение не дождавшись ответа сервера (client closed the connection). Это может быть таймаутом на стороне клиента.