Понадобилась мне рисовалка графиков под Unix систему, отличная от mrtg — для этого я нашел munin.
munin — очень полезная штука для построения разнообразных графиков.
# cd /usr/ports/
Port: munin-main-1.2.6
Path: /usr/ports/sysutils/munin-main
Info: Collector part of Munin
.........
Port: munin-node-1.2.6_1
Path: /usr/ports/sysutils/munin-node
Info: Node-specific part of Munin
..............
# cd /usr/ports/sysutils/munin-main/
# make install clean
.............
You need a group "munin".
Would you like me to create it [y]? y
...
Would you like me to set up log rotation [y]? y
# cd /usr/ports/sysutils/munin-node/
.....................
# echo 'munin_node_enable="YES"' >> /etc/rc.conf
# mcedit /usr/local/etc/munin/munin-node.conf
Редактируем секцию allow «^127\.0\.0\.1$», если нам нужно складывать графики на другой хост.
Например, на 10.10.1.3 — добавляем:
allow ^10\.10\.1\.3$
Проверяем работоспособность munin-node:
# /usr/local/etc/rc.d/munin-node.sh start
Starting munin_node.
# ps ax | grep munin
4289 ?? Ss 0:00.06 /usr/local/sbin/munin-node (perl)
# telnet localhost 4949
Trying ::1...
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
# munin node at fw.domain.pp.ua
здесь шустро набираем:
version
и жмем enter, получаем:
munins node on fw.domain.pp.ua version: 1.2.6
пишем и enter:
quit
Connection closed by foreign host.
Отлично, первую часть сделали.. Двигаемся дальше..
Настраиваем Munin-Main, сбор всех отчётов и построение графиков:
Так, как я установку производил на локальной машине, то при сборке munin-main сам правильно сконфигурировал файл /usr/local/etc/munin/munin.conf. А если бы его установка происходила на другом сервере, то в конфиг необходимо было бы добавить или отредактировать записи вида:
[fw.domain.pp.ua]
address 127.0.0.1
use_node_name yes
на:
[fw.domain.pp.ua]
address 10.10.1.1
use_node_name yes
и так далее, для каждой машины, где fw.domain.pp.ua — имя машины.
Также мы можем исправить секцию в которой говорится о том где будут лежать логи и графики.
После чего дадим правильные права на папку где лежат графики:
# chown -R munin:munin /usr/local/www/munin/
# su munin
$ crontab -e
прописать, если его нет - такое содержимое:
MAILTO=root
*/5 * * * * /usr/local/bin/munin-cron
На некоторых форумах когда то встречал, что munin может ругаться на отсутствие некоторых перловых пакетов таких, как p5-DateTime-HiRes, поэтому на всякий случай проинсталим:
# cd /usr/ports/devel/p5-DateTime-HiRes
На этом, с munin-main покончено. Следующая задача перед нами — отображение статистики в веб-браузере. Для этого, нам нужно настроить вебсервер, например apache — который уже установлен на данном сервере.
Добавляем следующие строки в конфиг апача /usr/local/etc/apache/httpd.conf
Alias /stat "/usr/local/www/munin/"
<Directory "/usr/local/www/munin">
Options -Indexes MultiViews FollowSymlinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
И перезагружаем apache:
# apachectl restart
Кому не нравится использовать алиасы в apache, могут сделать запись в виртуальный хост, естественно при этом в dns тоже должен быть отклик на имя которое будете указывать в виртуальном хосте:
# mcedit /usr/local/etc/apache/httpd.conf
<VirtualHost *:80>
ServerAdmin stat@domain.pp.ua
ServerName stat.domain.pp.ua
DocumentRoot /usr/local/www/munin
ErrorLog /var/log/munin-httpd.log
CustomLog /var/log/munin-httpd-common.log common
AccessFileName .htaccess
<Directory /usr/local/www/munin>
Options -Indexes MultiViews FollowSymlinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
На всякий случай напишу про установку модулей для munin, хотя их под freebsd собралось не мало.
Для проверки того, какие у нас модули установлены, выполним ряд команд:
telnet localhost 4949
Trying ::1...
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
# munin node at fw.domain.pp.ua
list
sendmail_mailtraffic sendmail_mailstats processes if_le0 if_errcoll_plip0 df netstat if_le1 if_errcoll_le1 swap if_errcoll_le0 load sendmail_mailqueue ntp_offset if_plip0 cpu df_inode open_files memory exim_mailstats vmstat
fetch swap
swap_in.value 27
swap_out.value 44
.
quit
Connection closed by foreign host.
Команда list — показывает список модулей, а команда fetch _имя_модуля_ — показывает нам его работоспособность.
PS. Оф.сайт с модулями:
Для подключения новых модулей, необходимо создать символическую ссылку на них в каталоге /usr/local/etc/munin/, ну а если их необходимо настроить, то настройка производится в файле /usr/local/etc/munin/plugin-conf.d/plugins.conf.
Для примера, я покажу как подключить плагин Mysql — нужная «весчь» :).
Добавляем в вышеописанный файл /usr/local/etc/munin/plugin-conf.d/plugins.conf такие строки:
[mysql*]
env.mysqlopts -u root -p пароль_рута
env.mysqladmin /usr/local/bin/mysqladmin
env.mysqlshow /usr/local/bin/mysqlshow
и перестартовываем munin:
# /usr/local/etc/rc.d/munin-node.sh restart
Порядок, заходим в браузере на http://stat.domain.pp.ua и наслаждаемся..
Напоминаю всем копирующим мой контент о существовании закона "Об авторском праве".
В связи с этим, прошу во избежании конфликтов при копировании данного материала, ставить на него ссылку:
Также, вы можете отблагодарить меня переслав любую сумму на любой кошелек WebMoney, для поддержания данного ресурса. Или просто админу на пиво ;)
Кошельки для получения благодарности:
R386985788805
U234140473141
Z147712360455
А если не хватает плагинов «из коробки», то всегда можно написать свой — например плагин для мониторинга nginx request time — http://letsclearitup.com.ua/debian/pishem-svoy-plagin-dlya-munin-nginx-request-time.html
И вообще munin довольно мощная штука и очень простая в настройке!