Установка Munin на Ubuntu 14.04

Munin – это приложение для мониторинга системы, сети и инфраструктуры, которое предоставляет информацию в виде графиков в веб-браузере. Munin разработан на архитектуре «клиент-сервер», потому его можно настроить для мониторинга машины, на которой он установлен (Munin master), и любого количества клиентских машин (Munin node).

Данная статья поможет установить и настроить Munin для мониторинга сервера Munin master и одного клиента.

Примечание: Согласно инструкциям данного руководства можно собрать любое количество нод-клиентов.

Требования

1: Установка зависимостей

Сначала нужно установить все необходимые пакеты на сервер (Munin master).

Munin может работать со многими веб-серверами (как, например, Nginx и Lighttpd), но по умолчанию он разработан для Apache. Установите веб-сервер Apache:

sudo apt-get update
sudo apt-get install -y apache2 apache2-utils

Чтобы включить функцию динамического масштабирования в графиках, установите следующие пакеты:

sudo apt-get install -y libcgi-fast-perl libapache2-mod-fcgid

После этого нужно включить модуль fcgid. Для этого введите:

/usr/sbin/apachectl -M | grep -i cgi

Если модуль уже включен, на экране появится такой вывод:

fcgid_module (shared)

Если команда вернула пустой экран, то модуль нужно включить.

sudo a2enmod fcgid

При выполнении команды apachectl может возникнуть следующее предупреждение:

Could not reliably determine the server's fully qualified domain name ...

Его можно проигнорировать, Apache все равно будет взаимодействовать с Munin.

2: Установка Munin на сервер

Пакеты Munin доступны в репозитории Ubuntu, потому приложение можно установить при помощи стандартного пакетного менеджера. Установите стабильную ветку приложения. В репозитории находится последняя доступная версия.

sudo apt-get install -y munin

3: Настройка Munin Master

Главный конфигурационный файл Munin master, munin.conf, и другие настроечные файлы можно найти в каталоге /etc/munin и его подкаталогах. В данном разделе показано, как настроить Munin master и взаимодействие Munin и Apache (файл apache.conf).

Конфигурационный файл состоит из двух разделов минимум – глобальных настроек (global) и настроек хоста (host); опционально может присутствовать раздел group. Разделы host и group должны начинаться с имени хоста или группы в квадратных скобках. Сам файл содержит определения переменных и директивы, которые сообщают приложению Munin, какие серверы и сервисы отслеживать и как это делать.

Отредактируйте конфигурационный файл:

cd /etc/munin
sudo nano munin.conf

Найдите следующие строки и раскомментируйте их:

  • dbdir хранит все файлы .rrd, содержащие данные мониторинга;
  • htmldir содержит файлы сайта;
  • logdir поддерживает логи;
  • rundir хранит файлы состояния;
  • tmpldir содержит HTML-шаблоны.

Измените htmldir, указав вместо /var/cache/munin/www каталог веб-сайта, /var/www/munin:

dbdir     /var/lib/munin
htmldir   /var/www/munin
logdir    /var/log/munin
rundir    /var/run/munin
tmpldir /etc/munin/templates

Поскольку каталога htmldir не существует, его нужно создать и передать права доступа к нему пользователю munin:

sudo mkdir /var/www/munin
sudo chown munin:munin /var/www/munin

Затем найдите дерево хостов в munin.conf:

[localhost.localdomain] address 127.0.0.1
use_node_name yes

Измените имя дерева, выбрав уникальное и более описательное (в данном случае это MuninMaster).

[MuninMaster] address 127.0.0.1
use_node_name yes

Сохраните и закройте файл.

Теперь в каталоге /etc/munin нужно отредактировать файл apache24.conf, который отвечает за настройку взаимодействия приложения с веб-сервером Apache. Он соединён символьной ссылкой с /etc/apache2/conf-available/munin.conf.

sudo nano apache.conf

В первой строке файла нужно указать путь к htmldir, заданный ранее в munin.conf. Это позволяет получить доступ к веб-интерфейсу Munin путем добавления в IP-адрес или домен секции munin:

Alias /munin /var/www/munin

Найдите раздел Directory. Чтобы настроить удалённый доступ к веб-интерфейсу Munin, удалите содержимое этого раздела и замените его на такой код:

<Directory /var/www/munin>
#Order allow,deny
#Allow from localhost 127.0.0.0/8 ::1
#Allow from all
#Options None
Require all granted
Options FollowSymLinks SymLinksIfOwnerMatch
...
...
</Directory>

Затем найдите предпоследний раздел, закомментируйте или удалите первые две строки и замените их следующим кодом:

<Location /munin-cgi/munin-cgi-graph>
#Order allow,deny
#Allow from localhost 127.0.0.0/8 ::1
Require all granted
Options FollowSymLinks SymLinksIfOwnerMatch
...
...
</Location>

Сделайте то же самое в последнем разделе:

<Location /munin-cgi/munin-cgi-html>
#Order allow,deny
#Allow from localhost 127.0.0.0/8 ::1
Require all granted
Options FollowSymLinks SymLinksIfOwnerMatch
...
...
</Location>

Сохраните и закройте файл. Перезапустите Apache и Munin.

sudo service apache2 restart
sudo service munin-node restart

Теперь веб-интерфейс Munin доступен по ссылке server-ip-address/munin.

4: Добавление клиента

Теперь к серверу Munin master нужно добавить клиент Munin node. Для этого нужно указать в конфигурационном файле Munin master дерево хоста для клиента, установить на клиент пакет Munin node, а затем отредактировать конфигурационный файл клиента.

Перейдите на клиент, обновите список пакетов системы и установите пакет Munin node:

sudo apt-get update
sudo apt-get install -y munin-node

После успешной установки откройте конфигурационный файл:

sudo nano /etc/munin/munin-node.conf

В файле найдите строку allow ^127.0.0.1$ и отредактируйте её, указав в ней IP-адрес сервера Munin master в формате regex; к примеру, IP-адрес 123.46.78.100 в этом формате будет выглядеть так:

[label  /etc/munin/munin-node.conf}
allow ^123\.456\.78\.100$

Сохраните и закройте файл, а затем перезапустите Munin:

sudo service munin-node restart

Вернитесь на Munin master, откройте главный конфигурационный файл:

sudo nano /etc/munin/munin.conf

В этот файл нужно внести дерево хоста для удалённого клиента. Проще всего скопировать и отредактировать дерево хоста сервера. Вместо node-ip-address укажите ip-адрес клиента:

[MuninNode] address node-ip-address
use_node_name yes

Сохраните и закройте файл. Перезапустите Apache.

sudo service apache2 restart

Munin проверяет наличие новых нод каждые 5 минут. Подождите несколько минут, затем перезапустите веб-интерфейс мастера Munin. Вы должны увидеть запись для новой ноды. Если такая запись ещё не появилась, подождите ещё 5 минут.

Примечание: Инструкции данного раздела позволяют добавить любое количество нод.

5: Дополнительные плагины

Munin отслеживает систему при помощи скриптов плагинов; по умолчанию установлено и доступно около десяти наборов плагинов. Полный список доступных плагинов можно найти в /usr/share/munin/plugins. Чтобы узнать, какие плагины можно использовать в данной системе, используйте следующую команду:

sudo munin-node-configure --suggest

На экране появится список плагинов:

Plugin                     | Used | Suggestions
------                     | ---- | -----------
cps_                       | no   | no
cpu                        | yes  | yes
cpuspeed                   | no   | no [missing /sys/devices/system/cpu/cpu0/cpufreq/stats/time_in_state] cupsys_pages               | no   | no [could not find logdir] df                         | yes  | yes
df_inode                   | yes  | yes
fail2ban                   | no   | yes
ip_                        | no   | yes

Если в столбце Suggestions содержится yes, то такой плагин можно использовать. Если в столбце Used находится yes, то такой плагин уже используется. Если оба столбца содержат no, то такой плагин не используется и его нельзя использовать в данной системе.

На сервере и клиенте Munin список доступных плагинов можно найти в каталоге /etc/munin/plugins.

Пакет munin-plugins-extra должен был установиться во время установки Munin. Если это не так, установите его сейчас:

sudo apt-get install munin-plugins-extra

Чтобы включить доступный плагин, который ещё не используется, создайте символьную ссылку из каталога /usr/share/munin/plugins в каталог /etc/munin/plugin.

К примеру, чтобы включить плагин для Fail2ban, сначала установите Fail2ban:

sudo apt-get install fail2ban

Затем создайте символьную ссылку, которая включит плагин:

sudo ln -s /usr/share/munin/plugins/fail2ban /etc/munin/plugins

Перезапустите Munin:

sudo systemctl restart munin-node

Подождите несколько минут, перезапустите веб-интерфейс. После этого на экране появятся графики для Fail2ban в категории Network под названием Hosts blacklisted by fail2ban на сервере Munin master.

Устранение неполадок

Если у вас возникли проблемы при конфигурировании клиента или сервера Munin, или же при настройке их взаимодействия, проверьте сообщения об ошибках в лог-файлах:

  • Munin master: /var/log/munin/munin-update.log
  • Munin node: /var/log/munin/munin-node.log

Также за помощью можно обратиться к сайту проекта.

Заключение

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

Также Munin может использовать плагины, но не все они доступны в определённых системах. За дополнительной информацией можно обратиться к сайту проекта.

Tags: ,

1 комментарий

Добавить комментарий