./comments
./contacts telegram: @stikname
email: ;

Установка Munin на CentOS

CentOS


Munin - система мониторинга для серверов. Состоит из двух частей, основного пакета munin (в freebsd называется munin-master) и пакета munin-node, который должен находиться на сервере который мы будем мониторить.

Установка


Устанавливаем пакеты munin и munin-node:
yum install munin munin-node


Добавляем в автозапуск
chkconfig --level 245 munin-node on


Для просмотра статистики из веба в пределах одного из добавленных доменов.
Добавляем в конфиг /etc/munin/munin.conf путь до неё, например:
htmldir /var/www/ЮЗЕР/data/www/ДОМЕН/ПАПКА


После добавления url возможно рекомендуется выставить права на папку
chown munin:munin htmldir /var/www/ЮЗЕР/data/www/ДОМЕН/ПАПКА


Если вы захотите подключить еще сервера для мониторинга к основному серверу, то добавляем в конец /etc/munin/munin.conf
[server.test.com] — hostname каждого slave сервера
address 224.14.123.12 — ip адрес каждого slave сервера
use_node_name yes


Запускаем slave сервер
service munin-node start


Плагины


Для добавления плагинов идем в папку /etc/munin/plugins и линкуим нужные плагины. Например:
ln -s /usr/share/munin/plugins/df df
ln -s /usr/share/munin/plugins/load load
ln -s /usr/share/munin/plugins/memory memory
ln -s /usr/share/munin/plugins/netstat netstat


Можно проверить какие плагины установлены, какие работают и что требуют для работы.
munin-node-configure -suggest


Некоторые параметры плагинов уже находятся в /etc/munin/plugin-conf.d, а что-то нужно добавлять самому. Описания параметров описаны в файле самого плагина, в секции =head1 CONFIGURATION

Отдельные плагины можно проверить без всяческих перезапусков сервера
munin-run load


В качестве примера, настройки для mysql, apache, nginx
[mysql*]
user root
env.mysqlconnection DBI:mysql:mysql;host=localhost;port=3306
env.mysqluser root
env.mysqlpassword kAF12gArawraW
env.mysqlopts -u root -pkAF12gArawraW
env.mysqladmin /usr/bin/mysqladmin
env.mysqlshow /usr/bin/mysqlshow

[apache_*]
env.url http://localhost:%d/server-status?auto
env.ports 81
env.showfree 1

[nginx*]
env.url http://localhost:8081/nginx_status


Включение nginx_status. В секцию http конфига /etc/nginx/nginx.conf, добавляем
server {
listen 8081;
server_name localhost;
location /nginx_status {
stub_status on;
access_log off;
allow 127.0.0.1;
deny all;
}
}


Apache: Включение server-status. В конфиг /etc/httpd/conf/httpd.conf, добавляем
ExtendedStatus On
<Location /server-status>
SetHandler server-status
Order deny,allow
Deny from all
Allow from 127.0.0.1
</Location>


После выполнения всех настроек перезапускаем сервис
service munin-node restart


Дополнительно


Возможно некоторые модули, возможно сторонние плагины могут потребовать доп. функции perl, например у меня один из модулей требовал Net::Telnet.
yum install "perl(Net::Telnet)"


Memcached плагины: https://github.com/mhwest13/Memcached-Munin-Plugin
05.10.2013 13:17:13
admin
2934
5
Комментарии

лер
25.10.2013 13:53:00
А теперь проверь командой top как этот Минин жрет ресурсы проца
admin
25.10.2013 17:10:42
лер, Мало он жрет. Во всяком случае 1.4.5 версия. Только что, специально проверил на слабом vds, запустил top + htop и посмотрел какая нагрузка в момент апдейта и генерации графиков.

В процесах успел увидеть:
munin-node
munin-update
munin-graph

Максимум секунда работы, проц в этот момент подскочил до ~80-90%. Секунда раз в 5 минут - это много? :)
Anatolt
13.04.2015 21:05:21
chkconfig —level 245 munin-node on
сбило столку. движок превратил двойное тире -- в длинное =/
admin
13.04.2015 21:13:17
Спасибо, поправил.
Vital
20.10.2015 21:48:26
Ну а плагины MySQL подключить? А точнее (брал отсюда intsystem.org/etc/dobavlyaem-mysql-v-munin/):
cd /etc/munin/plugins/
ln -s /usr/share/munin/plugins/mysql_bytes
ln -s /usr/share/munin/plugins/mysql_queries
ln -s /usr/share/munin/plugins/mysql_slowqueries
ln -s /usr/share/munin/plugins/mysql_threads