28 янв. 2013
Munin - замечательная вещь. Много разнообразных плагинов позволяют смотреть статистику нагрузки практически всех сервисов linux системы.
Когда вы хостите много сайтов, то довольно познавательно знать, какой из них потребляет больше всего ресурсов. Помимо стандартных плагинов, есть один - показывающий трафик сайтов в nginx. Однако в паблике находится вариант плагина с недоработками.
Нерабочий плагин - плохо, починим. Поправленный можно скачать здесь.
В конфиг nginx (/etc/nginx/nginx.conf) надо прописать:
log_format main '"$remote_addr" $host [$time_local] '
'"$request" $status $body_bytes_sent '
'$request_length $bytes_sent "$http_referer" '
'"$http_user_agent" $request_time "$gzip_ratio"';
Для работы плагину необходимо, чтобы логи всех сайтов записывались в один файл. В конф каждого сайта пишем:
access_log /var/log/nginx/access_big.log main;
error_log /var/log/nginx/error_big.log;
Добавляем в конфиг мунина:
[nginx_vhost_traffic]
group adm
env.vhosts mygento.ru example.ru exmaple.com
env.logdir /var/log/nginx
env.logfile access_big.log
Делаем рестарт (/etc/init.d/munin-node restart) ждем 5 минут и радуемся.
Да, для работы обязательно должен быть установлен пакет logtail.