Инструкция как в freebsd munin nginx status снимать и рисовать его в munin.
Понадобилось снимать статистику с нагружено сервера nginx.
Выбрал софт мониторинга под название munin.
Чем меня munin привлек вы спросите? Наверное логичностью и простатой установки, настройки.
Конечно с zabbix он не сравнится, но у нас и не корпоротивные масштабы что бы zabbix ставить, один сервер.
Приступим.
Система freebsd 10 уже установлена и настроена.
Супер сервер nginx у нас уже установлен и собран с модулем HTTP_STATUS=on.
# nginx -v nginx version: nginx/1.8.0
В nginx создадим виртуал хост специально для модуля статус.
# cat /usr/local/etc/nginx/sites-enabled/ng_status server { listen 2.2.2.2:8181; location /nginx_stat { stub_status on; } }
Устанавливаем munin.
# cd /usr/ports/sysutils/munin-node && make install clean
Вот еще что!
Нынешний munin-master тянет по зависимостям как бы мягко сказать (слишком иксовый rrdtool-1.4.8_8), я ставлю предпочитаю rrdtool12, тут уже как бы хозяин барин, выбирайте сами.
# nano /usr/ports/sysutils/munin-master/Makefile Находим в пунктах ( BUILD_DEPENDS и RUN_DEPENDS ) rrdtool>=0:${PORTSDIR}/databases/rrdtool \ и меняем версию rrdtool на rrdtool>=0:${PORTSDIR}/databases/rrdtool12 \
Теперь ставим.
# cd /usr/ports/sysutils/munin-master && make install clean
В этоги должен установится такой софт.
# pkg version | egrep "muni|rrdtool" munin-common-2.0.25_1 = munin-master-2.0.25_3 = munin-node-2.0.25_4 = rrdtool12-1.2.30_7 =
Добавим модули мониторинга в мунине.
# cd /usr/local/etc/munin/plugins/
Сделаем симлинк нужного нам модуля.
# ln -s /usr/local/share/munin/plugins/nginx_request # ln -s /usr/local/share/munin/plugins/nginx_status
У меня такие стоят.
root@sy213:/usr/local/etc/munin/plugins # ls -al total 8 drwxr-xr-x 2 root wheel 512 Jun 21 16:45 . drwxr-xr-x 7 root wheel 512 May 17 09:40 .. lrwxr-xr-x 1 root wheel 34 May 16 16:29 cpu -> /usr/local/share/munin/plugins/cpu lrwxr-xr-x 1 root wheel 41 May 16 16:34 hard_place -> /usr/local/share/munin/plugins/hard_place lrwxr-xr-x 1 root wheel 34 May 16 16:29 if_ -> /usr/local/share/munin/plugins/if_ lrwxr-xr-x 1 root wheel 35 May 16 16:28 load -> /usr/local/share/munin/plugins/load lrwxr-xr-x 1 root wheel 37 May 16 16:29 memory -> /usr/local/share/munin/plugins/memory lrwxr-xr-x 1 root wheel 42 May 16 16:30 mysql_bytes -> /usr/local/share/munin/plugins/mysql_bytes lrwxr-xr-x 1 root wheel 48 May 16 16:30 mysql_connections -> /usr/local/share/munin/plugins/mysql_connections lrwxr-xr-x 1 root wheel 57 May 16 16:30 mysql_connections_per_user -> /usr/local/share/munin/plugins/mysql_connections_per_user lrwxr-xr-x 1 root wheel 41 May 16 16:30 mysql_keys -> /usr/local/share/munin/plugins/mysql_keys lrwxr-xr-x 1 root wheel 43 May 16 16:30 mysql_qcache -> /usr/local/share/munin/plugins/mysql_qcache lrwxr-xr-x 1 root wheel 48 May 16 16:31 mysql_qcache_hits -> /usr/local/share/munin/plugins/mysql_qcache_hits lrwxr-xr-x 1 root wheel 47 May 16 16:31 mysql_qcache_mem -> /usr/local/share/munin/plugins/mysql_qcache_mem lrwxr-xr-x 1 root wheel 44 May 16 16:31 mysql_queries -> /usr/local/share/munin/plugins/mysql_queries lrwxr-xr-x 1 root wheel 48 May 16 16:31 mysql_slowqueries -> /usr/local/share/munin/plugins/mysql_slowqueries lrwxr-xr-x 1 root wheel 44 May 16 16:31 mysql_threads -> /usr/local/share/munin/plugins/mysql_threads lrwxr-xr-x 1 root wheel 47 May 16 16:31 mysql_threadsimp -> /usr/local/share/munin/plugins/mysql_threadsimp lrwxr-xr-x 1 root wheel 44 Jun 21 16:45 nginx_request -> /usr/local/share/munin/plugins/nginx_request lrwxr-xr-x 1 root wheel 43 Jun 21 16:45 nginx_status -> /usr/local/share/munin/plugins/nginx_status lrwxr-xr-x 1 root wheel 50 May 16 16:32 onlineIParess80port -> /usr/local/share/munin/plugins/onlineIParess80port root@sy213:/usr/local/etc/munin/plugins #
Теперь оповестим мунин о модули nginx_status.
# nano /usr/local/etc/munin/plugin-conf.d/plugins.conf [nginx*] env.url http://2.2.2.2:8181/nginx_stat
Нужно отредактировать скрипты мунина.
# cat nginx_status | grep -A 9 "server {" server { listen 2.2.2.2:8181; server_name localhost; location /nginx_stat { stub_status on; access_log off; allow 127.0.0.1; deny all; } }
В принципе все.
Перезагружаем наши сервисы.
# service nginx restart # service munin-node restart
Проверяем все ли графики верно установлены?!
# munin-node-configure
Проверяем выдачу активности nginx
http://2.2.2.2:8181/nginx_stat Должно получится что то подобное. Active connections: 2032 server accepts handled requests 2858118 2858118 17850103 Reading: 1 Writing: 9 Waiting: 2022
Расшифровка статуса nghinx.
Расшифровка выданного:
Active connections — Общее количество обслуживаемых клиентов на данный момент.
Server — Количество принятых соединений.
accepts — Количество соединений обработанных на данный момент, примерно одинаково со значением Server.
handled — Количество запросов обработанных в данный момент, примерно больше чем значения accepts.
requests — Делим accepts на handled – получаем количество обработанных запросов в секунду.
Reading — Количество соединений на данный момент в состоянии чтения.
Writing — Количество соединений на данный момент в состоянии записи.
Waiting — keep-alive соединения или запрос в состоянии обработки, рассчитываем значение так active – (reading + writing).
Вот такие красивые графики должны получится.
Вот и вся настройка в freebsd munin nginx status.
Pingback: FreeBSD установка munin - FRYAHA.RU
Pingback: munin выводим данные smart nvme диска - FRYAHA.RU