Установка Munin на CentOS
Munin является инструментом для мониторинга сетевых устройств с возможностью сохранения истории производительности этих устройств. Графики производительности можно смотреть в браузере.
С помощью Munin можно контролировать работу серверов, приложений, мониторить погоду в Сибири или того, что придет Вам на ум. На основе графиков производительности определить, в какой момент с сервером пошло что-то не так (на пример увеличилось потребление памяти)
Для установки подключите Epel репозиторий:
5.4:
sudo rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
6.8:
sudo rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
Установка агента/клиента:
yum install munin-node
Установка сервера:
yum install munin
Настройки клиентской части
Конфигурация находятся в файле /etc/munin/munin.conf
Можете изменить стандартное расположение каталогов и файлов, с помощью следующих директив в файле:
dbdir /var/lib/munin
htmldir /var/www/html/munin
logdir /var/log/munin
rundir /var/run/munin
Сразу после установки в сервере будет доступен только localhost. Для того, что бы добавить дополнительные сервера, найдите следующие строки:
# a simple host tree
[localhost]
address 127.0.0.1
use_node_name yes
Добавьте необходимые сервера с помощью следующего шаблона:
[server_name]
address 12.34.56.78
use_node_name yes
Учтите, что если Вы поменяли значение htmldir
в файле /etc/munin/munin.conf
, тогда эту папку нужно создать самому и скопировать в нее все файлы с /var/www/html/munin
После этого нужно подредактировать файл настроек для Apache (/etc/httpd/conf.d/munin.conf
)
Alias /munin /**путь_к_htmldir**/munin
Теги directory
нужно подредактировать соответствующим образом.
Дальше генерируем пароль для авторизации на странице munin
:
htpasswd -cmb /etc/munin/munin-htpasswd munin_user munin_password
Настройки клиентской части
находятся в файле /etc/munin/munin-node.conf
Нас интересуют строки, позволяющие подключаться к агенту, на основе ip адресов. Сразу после установки в файле разрешено подключаться только с адреса 127.0.0.1.
allow ^127\.0\.0\.1$
Думаю понятно, что сюда нужно добавить ip адрес сервер с демоном munin, что бы разрешить ему собирать информацию.
Ставим munin на автозагрузку
chkconfig -add munin-node
Запускаем
/etc/init.d/munin-node start
По умолчанию munin будет опрашивать все сервера 1 раз в 5 минут. Соответсвенно шаг на всех графиках будет равен 5 минутам. Для того, что бы получать более точную информацию нужно подредактировать следующий файл:
/etc/cron.d/munin
И сменить 5 минут на 1.
В браузере открываем http://<strong>ip_адрес_вашего_сервера</strong>/munin/
Мониторим MySQL:
Нужно отредаткировать плагин и внести в него имя пользователя и пароль для доступа к mysql:
vim /usr/share/munin/plugins/mysql_
Дальше все понятно - на против mysqlpassword
нужно поставить пароль админа. При необходимости изменить имя пользователя.
Осталось включить плагин:
cd /etc/munin/plugins
ln -sf /usr/share/munin/plugins/mysql_ mysql_
Следующая команда выводит список графиков, которые можно получить с помощью плагина:
/usr/share/munin/plugins/mysql_ suggest
Для того, что бы включить все предложеные плагины выполните:
for i in \`./mysql_ suggest\`; do ln -sf /usr/share/munin/plugins/mysql_ $i; done
Для применения изменений перезапустите демон:
service munin-node restart
Обнуляем данные:
Бывает так, что какой-то из серверов приходится удалить, а его графики остаются. Или вы обнаружили, что что-то настроено неправильно и хотите очистить все в munin и начать с чистого листа.
Munin хранит информацию в двух папках. Их-то и нужно очистить:
rm -rf /var/www/html/munin/*
rm -rf /var/lib/munin/*
Дальше нужно руками запустить munin-cron
su - munin -shell=/bin/bash
/usr/bin/munin-cron
Включаем мониторинг Apache2:
Для начала удостоверимя, что status_module
установлен и включен в конфигурации Apache2:
apachectl -t -D DUMP_MODULES 2>&1|grep status_module
Если все ОК - содаем конфигурационный файл
nano /etc/httpd/conf.d/status.conf
Со следующим содержанием:
<IfModule mod_status.c>
ExtendedStatus On
<Location /server-status>
SetHandler server-status
Order deny,allow
Deny from all
Allow from localhost ip6-localhost
Allow from 127.0.0.1
Allow from 192.168.100.0/24
</Location>
</IfModule>
Включаем плагины munin:
sudo ln -s /usr/share/munin/plugins/apache_processes /etc/munin/plugins/apache_processes
sudo ln -s /usr/share/munin/plugins/apache_accesses /etc/munin/plugins/apache_accesses
sudo ln -s /usr/share/munin/plugins/apache_volume /etc/munin/plugins/apache_volume