Установка Munin на Ubuntu 14.04
Munin – это приложение для мониторинга системы, сети и инфраструктуры, которое предоставляет информацию в виде графиков в веб-браузере. Munin разработан на архитектуре «клиент-сервер», потому его можно настроить для мониторинга машины, на которой он установлен (Munin master), и любого количества клиентских машин (Munin node).
Данная статья поможет установить и настроить Munin для мониторинга сервера Munin master и одного клиента.
Примечание: Согласно инструкциям данного руководства можно собрать любое количество нод-клиентов.
Требования
- Два предварительно настроенных сервера Ubuntu 14.04.
- Не-root пользователь с доступом к sudo на каждом сервере. Все команды в руководстве следует запускать в сессии этого пользователя.
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: Munin, Ubuntu 14.04
1 комментарий
В /etc/munin/apache24.conf
Alias /munin /var/www/munin
Require all granted
Require local
Options None