url image

Установка Munin

Статья расчитана на установку в таких операционных системах как Debian, Ubuntu, CentOS и FreeBSD.

Содержание

Debian/Ubuntu

Устанавливаем munin и munin-node

# apt-get install munin munin-node

Открываем файл /etc/munin/munin.conf, меняем там "[localhost.localdomain]" на "[localhost]" и сохраняем.

Проверяем наличие файла /etc/apache2/conf.d/munin

Если файл существует, то открываем его, меняем все "Allow from localhost 127.0.0.0/8 ::1" на "Allow from all" и сохраняем файл.

Перезапускаем apache

# service apache2 restart

Если файла /etc/apache2/conf.d/munin нет, то создаём его со следующим содержимым:

Alias /munin /var/cache/munin/www
<Directory /var/cache/munin/www>
       Order allow,deny
       Allow from all
       Options None
       <IfModule mod_expires.c>
               ExpiresActive On
               ExpiresDefault M310
       </IfModule>
</Directory>
ScriptAlias /munin-cgi/munin-cgi-graph /usr/lib/munin/cgi/munin-cgi-graph
<Location /munin-cgi/munin-cgi-graph>
       Order allow,deny
       Allow from all
       <IfModule mod_fastcgi.c>
               SetHandler fastcgi-script
       </IfModule>
</Location>
ScriptAlias /munin-cgi/munin-cgi-html /usr/lib/munin/cgi/munin-cgi-html
<Location /munin-cgi/munin-cgi-html>
       Order allow,deny
       Allow from all
       <IfModule mod_fastcgi.c>
               SetHandler fastcgi-script
       </IfModule>
</Location>

Перезапускаем apache

# service apache2 restart

Теперь переходим в вэб-браузере по ссылке http://IP_сервера/munin и смотрим статистику.

Доступные графики находятся в разделе "Categories"

Munin-web.png

Если нужно принудительно обновить графики то нужно войти под пользователем munin

# su - munin --shell=/bin/bash

и выполнить следующую команду

# /usr/share/munin/munin-update –force-root

Затем выйти из под пользователя munin

# exit

Примеры добавления графиков

Рассмотрим добавление графиков по статистике Apache и MySQL.

Добавляем сбор статистики Apache сервера

Проверяем подкючены-ли необходимые для этого плагины:

# munin-node-configure --suggest |grep apache

В результате видим:

apache_accesses            | no   | no [LWP::UserAgent not found]          
apache_processes           | no   | no [LWP::UserAgent not found]          
apache_volume              | no   | no [LWP::UserAgent not found]

Первое "no" означает, что плагины не подключены, второе "no [LWP::UserAgent not found]" - что не хватает Perl библиотеки "LWP::UserAgent"

Подключенные плагины расположены по тут - /etc/munin/plugins

Все плагины, которые можно подключить дополнительно расположены тут - /usr/share/munin/plugins

Подключаем плагины "apache_accesses", "apache_processes" и "apache_volume"

# ln -s /usr/share/munin/plugins/apache_accesses /etc/munin/plugins/apache_accesses
# ln -s /usr/share/munin/plugins/apache_processes /etc/munin/plugins/apache_processes
# ln -s /usr/share/munin/plugins/apache_volume /etc/munin/plugins/apache_volume

Проверяем

# munin-node-configure --suggest |grep apache

В результате видим:

apache_accesses            | yes   | no [LWP::UserAgent not found]          
apache_processes           | yes   | no [LWP::UserAgent not found]          
apache_volume              | yes   | no [LWP::UserAgent not found]

Устанавливаем Perl библиотеку LWP::UserAgent

# apt-get install libwww-perl

Проверяем

# munin-node-configure --suggest |grep apache

Видим:

apache_accesses            | yes  | no [Port 80: Forbidden]                
apache_processes           | yes  | no [Port 80: Forbidden]                
apache_volume              | yes  | no [Port 80: Forbidden]

Это означает, что нет доступа к информации server-status от Apache.

Включаем server-status

# ln -s /etc/apache2/mods-available/status.conf /etc/apache2/mods-enabled/status.conf
# ln -s /etc/apache2/mods-available/status.load /etc/apache2/mods-enabled/status.load

Открываем файл /etc/apache2/mods-enabled/status.conf, добавляем перед строкой "<Location /server-status>" строку "Alias /server-status /dev/null" и сохраняем файл.

Перезапускаем apache

# service apache2 restart

Проверяем

# munin-node-configure --suggest |grep apache

Видим:

apache_accesses            | yes  | yes                                    
apache_processes           | yes  | yes                                    
apache_volume              | yes  | yes

Выполняем

# munin-node-configure

Перезапускаем munin-node

# /etc/init.d/munin-node restart

По прошествии какого-то времени мы увидим, что в разделе "Categories" появился пункт "apache".

Munin1.png

Добавляем сбор статистики MySQL сервера

Подключаем необходимые плагины

# ln -s /usr/share/munin/plugins/mysql_ /etc/munin/plugins/mysql_
# ln -s /usr/share/munin/plugins/mysql_bytes /etc/munin/plugins/mysql_bytes
# ln -s /usr/share/munin/plugins/mysql_queries /etc/munin/plugins/mysql_queries
# ln -s /usr/share/munin/plugins/mysql_slowqueries /etc/munin/plugins/mysql_slowqueries
# ln -s /usr/share/munin/plugins/mysql_innodb /etc/munin/plugins/mysql_innodb

Так же, потребуется установить Perl библиотеки libdbd и libcache

# apt-get install libdbd-mysql-perl libcache-cache-perl

Выполняем

# munin-node-configure
# /etc/init.d/munin-node restart

По прошествии какого-то времени мы увидим, что в разделе "Categories" появился пункт "mysql".

Munin2.png

 

CentOS

Устанавливаем munin и munin-node

# yum install munin munin-node

Создаём папку в которую будут генерироваться файлы статистики

# mkdir -p /var/www/html/munin

В файле /etc/munin/munin.conf раскомментируем строку "#htmldir /var/www/html/munin" (удаляем решётку перед htmldir) и сохраняем.

Делаем пользователя munin владельцем папки /var/www/html/munin

# chown munin:munin /var/www/html/munin

Запускаем munin-node

# service munin-node start

Активируем веб-интерфейс

# echo ' ' > /etc/httpd/conf.d/munin.conf

Открываем файл /etc/httpd/conf.d/munin.conf и прописываем туда следующее:

<directory /var/www/html/munin>
ExpiresActive On
ExpiresDefault M310
</directory>
ScriptAlias /munin-cgi/munin-cgi-graph /var/www/cgi-bin/munin-cgi-graph

Перезапускаем apache

# service httpd restart

Теперь переходим в вэб-браузере по ссылке http://IP_сервера/munin и смотрим статистику.

Доступные графики находятся в разделе "Categories"

Munin-web.png

Примеры добавления графиков

Рассмотрим добавление графиков по статистике Apache и MySQL.

Добавляем сбор статистики Apache сервера

Проверяем подкючены-ли необходимые для этого плагины:

# munin-node-configure --suggest |grep apache

Видим:

apache_accesses            | no   | no [apache server-status not found. check if mod_status is enabled]
apache_processes           | no   | no [apache server-status not found. check if mod_status is enabled]
apache_volume              | no   | no [apache server-status not found. check if mod_status is enabled]

Первое "no" означает, что плагины не подключены, второе "no [LWP::UserAgent not found]" - что нет доступа к информации server-status от Apache.

Подключенные плагины расположены по тут - /etc/munin/plugins

Все плагины, которые можно подключить дополнительно расположены тут - /usr/share/munin/plugins

Подключаем плагины "apache_accesses", "apache_processes" и "apache_volume"

# ln -s /usr/share/munin/plugins/apache_accesses /etc/munin/plugins/apache_accesses
# ln -s /usr/share/munin/plugins/apache_processes /etc/munin/plugins/apache_processes
# ln -s /usr/share/munin/plugins/apache_volume /etc/munin/plugins/apache_volume

Включаем server-status

# yum install links elinks

Открываем файл /etc/httpd/conf/httpd.conf, раскомментируем "#ExtendedStatus On", а, так же, весь блок <Location /server-status> (до </Location>), внутри блока меняем "Allow from .example.com" на "Allow from 127.0.0.1" и сохраняем файл.

Перезапускаем apache

# service httpd restart

Проверяем

# munin-node-configure --suggest |grep apache

Видим:

apache_accesses            | yes  | yes                                    
apache_processes           | yes  | yes                                    
apache_volume              | yes  | yes

Выполняем

# munin-node-configure

Перезапускаем munin-node

# service munin-node restart

По прошествии какого-то времени мы увидим, что в разделе "Categories" появился пункт "apache".

Munin1.png

Добавляем сбор статистики MySQL сервера

Подключаем необходимые плагины

# ln -s /usr/share/munin/plugins/mysql_ /etc/munin/plugins/mysql_
# ln -s /usr/share/munin/plugins/mysql_bytes /etc/munin/plugins/mysql_bytes
# ln -s /usr/share/munin/plugins/mysql_queries /etc/munin/plugins/mysql_queries
# ln -s /usr/share/munin/plugins/mysql_slowqueries /etc/munin/plugins/mysql_slowqueries
# ln -s /usr/share/munin/plugins/mysql_innodb /etc/munin/plugins/mysql_innodb

Далее необходимо отредактировать файл /etc/munin/plugin-conf.d/munin-node и указать там, при этом, реальный пароль пользователя root от MySQL.

Узнать пароль можно в конфиге ISPmanager

# cat /usr/local/ispmgr/etc/ispmgr.conf |grep Password

Открываем файл /etc/munin/plugin-conf.d/munin-node и добавляем туда следующее:

[mysql*]
env.mysqluser root
env.mysqlpassword PASSWORD
env.mysqladmin /usr/bin/mysqladmin
env.mysqlshow /usr/bin/mysqlshow

Вместо слова 'PASSWORD' указываем реальный пароль пользователя root MySQL сервера.

Выполняем

# munin-node-configure

Перезапускаем munin-node

# service munin-node restart

По прошествии какого-то времени мы увидим, что в разделе "Categories" появился пункт "mysql".

Munin2.png

Отправка уведомлений на e-mail

Рассмотрим пример настройки уведомлений на e-mail.

Уведомления в Munin делятся на критические (critical) и предупреждения (warning).

Для примера настроим уведомления по количеству открытых в системе файлов.

Для этого посмотрим какие параметры передаёт плагин open_files

# munin-run open_files

Видим

used.value 832
max.value 47250

То есть, текущее кол-во открытых файлов 832.

Для того, чтобы сразу проверить результат нашей настройки, зададим значение для warning меньше текущего (пусть будет 800), а значение critical сделаем, например, 1000.

Как только значение кол-ва открытых файлов достигнет значения warning, нам на почту придёт уведомление об этом (аналогично и с critical).

Итак, приступим.

Открываем файл "munin.conf" (в зависимости от ОС путь к нему будет разный - /usr/local/etc/munin/ для FreeBSD и /etc/munin/ для всех Linux) и в секцию [localhost] добавляем значения warning и critical для open_files.

   open_files.used.warning 800
   open_files.used.critical 1000

Тут нужно пояснить как это работает:

open_files - наименование плагина

used - параметр который мы будем наблюдать (названия передаваемых параметров мы уже смотрели командой "munin-run open_files").

warning и critical - значения для предупреждений и критических отметок.

Далее ниже в этом же файле (munin.conf) создаём контакт для отправки уведомлений.

Для большей нагладности создадим два контакта - на один у нас будут отсылаться предупреждения, а на второй критические уведомления.

Контакт для предупреждений у нас будет называться "warn" (это не пренципиально, имя может быть любым), а для критических - "crit".

Добавляем контакты:

   contacts warn crit

Указываем какому контакту какие сообщения отсылать:

   open_files.contacts.warning warn
   open_files.contacts.critical crit

Указываем на какой ящик слать для warn и на какой для crit:

   contact.warn.command mail -s "Munin Warning!" [email protected]
   contact.crit.command mail -s "Munin Critical!" [email protected]

В итоге, у нас должно получиться следующее:

   contact.warn.command mail -s "Munin Warning!" [email protected]
   contact.crit.command mail -s "Munin Critical!" [email protected]

[localhost]
   address 127.0.0.1
   use_node_name yes
   open_files.used.warning 800
   open_files.used.critical 1000
   open_files.contacts.warning warn
   open_files.contacts.critical crit
   contacts warn crit

Сохраняем munin.conf и перезапускаем munin-node.

Переходим в веб-интерфейс munin и видим, что сработал warning по open_files, так как мы специально заранее занизили open_files.used.warning ниже текущего значения

Munin3.png

Проверяем почту и видим, что там у нас появилось письмо с темой "Munin Warning!", а внутри письма информациа по open_files.used на момент его отправки.

Munin mail.png

Этот материал был полезен?

Скидка 25% новым клиентам!
Закажи сервер сегодня и получи скидку на первый месяц аренды!