Как установить Munin на Ubuntu/Debian
Munin - это приложение для мониторинга систем, сетей и инфраструктуры, которое предоставляет информацию в виде графиков через веб-браузер. Он разработан на основе архитектуры клиент-сервер и может быть сконфигурирован для мониторинга машины, на которой он установлен (мастер Munin), и любого количества клиентских машин, которые называются узлами.
В этой статье мы установим и настроим Munin для мониторинга сервера, на котором он установлен, и одного узла. Чтобы установить Munin на нескольких узлах, просто следуйте инструкциям по созданию узла в каждой системе.
Краткое руководство
В кратком руководстве только команды и минимальное количество информации.
Шаг 1 - Установка Необходимых Пакетов
sudo apt-get install -y apache2
Чтобы включить функцию динамического масштабирования в графиках, установите следующие пакеты:
Проверьте включился модуль или нет:
Если вывод пустой, то используйте команду:
Шаг 2 - Установка сервера Munin (master)
Установочные пакеты для Munin доступны во всех репозиториях ubuntu/centos/debian, поэтому его можно установить с помощью менеджера пакетов дистрибутива.
Шаг 3 - Настройка сервера Munin (master)
sudo nano munin.conf
Найдите следующие строки и раскомментируйте их.
- dbdir хранит все файлы .rrd, содержащие данные мониторинга;
- htmldir содержит изображения и файлы сайта;
- logdir ведёт журналы;
- rundir хранит файлы состояния;
- tmpldir содержит HTML-шаблоны.
htmldir /var/cache/munin/www
logdir /var/log/munin
rundir /var/run/munin
...
tmpldir /etc/munin/templates
Следующему файлу в каталоге /etc/munin, это apache24.conf. Он символьно связан с /etc/apache2/conf-available/munin.conf.
Для того, чтобы иметь доступ к веб-версии с любого адреса необходимо заменить:
Require all granted
Options None
</Directory>
...
<Directory /usr/lib/munin/cgi>
Require all granted
...
</Directory>
Сохраните и закройте файл. Затем перезагрузите Munin и Apache:
sudo systemctl restart apache2
Шаг 4 - Добавление клиента
Перейдите на клиент Munin, обновите базу данных пакетов и установите пакет munin node:
sudo apt-get install -y munin-node
После успешного завершения установки конфигурация клиента должна находиться в каталоге /etc/munin. Откройте его с помощью nano:
Ближе к середине файла найдите строку allow ^127.0.0.1$ и измените ее так, чтобы она отражала IP-адрес сервера Munin (master). Обратите внимание, что IP-адрес находится в формате regex, поэтому, предполагая, что IP-адрес главного сервера будет 123.46.78.100:
Сохраните и закройте файл. Затем перезагрузите Munin:
Вернитесь на master Munin и откройте конфигурационный файл:
Все, что нам нужно сделать в этом файле, - это вставить дерево хоста для (удаленного) узла. Самый простой подход к этому-скопировать и изменить дерево хоста мастера. Обязательно замените node-ip-address на IP-адрес добавляемого узла:
address node-ip-address
use_node_name yes
Сохраните и закройте файл. Затем перезагрузите Apache:
Munin проверяет наличие новых узлов каждые 5 минут.
Установка Munin завершена. Если необходимо добавить плагины - перейдите на пункт в полном руководстве
Полное руководство
Шаг 1 - Установка Необходимых Пакетов
Сначала мы начнем работать над сервером Munin (master Munin). Перед установкой Munin необходимо установить несколько зависимостей.
Хотя Munin может работать с большинством популярных веб-серверов, таких как Nginx и Lighttpd, по умолчанию он предназначен для работы с веб-сервером Apache. Поэтому убедитесь, что Apache установлен и настроен на munin master. Если он еще не установлен, сделайте это с помощью:
sudo apt-get install -y apache2
Чтобы включить функцию динамического масштабирования в графиках, установите следующие пакеты:
После установки этих двух пакетов модуль fcgid должен был быть включен. Чтобы перепроверить, введите:
Вывод должен быть такой:
Если вывод пустой, то он не включен. Затем вы можете включить его с помощью:
При выполнении команды apachectl может возникнуть следующее предупреждение:
Apache все равно будет работать с Мунином с этим предупреждением.
Шаг 2 - Установка сервера Munin (master)
Установочные пакеты для Munin доступны во всех репозиториях ubuntu/centos/debian, поэтому его можно установить с помощью менеджера пакетов дистрибутива.
Шаг 3 - Настройка сервера Munin
Основной конфигурационный файл munin master - munin.conf и другие файлы, необходимые для его работы, можно найти в каталоге /etc/munin и его подкаталогах.
Файл конфигурации состоит, по крайней мере, из двух разделов — глобального и одного раздела хоста. По желанию может быть раздел Группы. Разделы хоста и группы начинаются с их соответствующих имен в квадратных скобках. Этот файл содержит определения переменных, директивы, которые управляют тем, как Munin контролирует службы, а также какие серверы контролировать.
Чтобы начать его изменять:
sudo nano munin.conf
Найдите следующие строки и раскомментируйте их.
- dbdir хранит все файлы .rrd, содержащие данные мониторинга;
- htmldir содержит изображения и файлы сайта;
- logdir ведёт журналы;
- rundir хранит файлы состояния;
- tmpldir содержит HTML-шаблоны.
htmldir /var/cache/munin/www
logdir /var/log/munin
rundir /var/run/munin
...
tmpldir /etc/munin/templates
Затем найдите дерево хостов в munin.conf:
address 127.0.0.1
use_node_name yes
Вы можете изменить название которое будет отображаться в munin:
address 127.0.0.1
use_node_name yes
После этого сохраните и закройте файл.
Переходим к следующему файлу в каталоге /etc/munin, это apache24.conf, который содержит конфиг для Apache. Он символьно связан с /etc/apache2/conf-available/munin.conf.
Для того, чтобы иметь доступ к веб-версии с любого адреса необходимо заменить:
Require all granted
Options None
</Directory>
...
<Directory /usr/lib/munin/cgi>
Require all granted
...
</Directory>
Сохраните и закройте файл. Затем перезагрузите Munin и Apache:
sudo systemctl restart apache2
Шаг 4 - Добавление клиента
На этом шаге мы покажем, как добавить узел к серверу Munin. Для этого нужно указать в конфигурационном файле Munin master дерево хоста для клиента, установить на клиент пакет Munin node, а затем отредактировать конфигурационный файл клиента.
Перейдите на клиент Munin, обновите базу данных пакетов и установите пакет munin node:
sudo apt-get install -y munin-node
После успешного завершения установки конфигурация клиента должна находиться в каталоге /etc/munin. Откройте его с помощью nano:
Ближе к середине файла найдите строку allow ^127.0.0.1$ и измените ее так, чтобы она отражала IP-адрес сервера Munin (master). Обратите внимание, что IP-адрес находится в формате regex, поэтому, предполагая, что IP-адрес главного сервера будет123.46.78.100:
Сохраните и закройте файл. Затем перезагрузите Munin:
Вернитесь на master Munin и откройте конфигурационный файл:
Все, что нам нужно сделать в этом файле, - это вставить дерево хоста для (удаленного) узла. Самый простой подход к этому-скопировать и изменить дерево хоста мастера. Обязательно замените node-ip-address на IP-адрес добавляемого узла:
address node-ip-address
use_node_name yes
Сохраните и закройте файл. Затем перезагрузите Apache:
Munin проверяет наличие новых узлов каждые 5 минут. Подождите несколько минут, затем перезагрузите веб-интерфейс мастера Munin. Вы должны увидеть запись для узла. Если вы его еще не видите, повторите попытку через 5 минут. Используя этот метод, вы можете добавить столько узлов, сколько вам нужно для мониторинга.
Шаг 5 - Добавление плагинов
Munin контролирует систему с помощью плагинов-скриптов, и по умолчанию установлено и активировано около десятка наборов плагинов. Полный список доступных плагинов находится в каталоге /usr/share/munin/plugins. Чтобы узнать, какие плагины можно использовать в вашей системе, Munin предоставляет следующую команду:
Вывод:
------ | ---- | -----------
cpu | yes | yes
cpuspeed | yes | yes
cupsys_pages | no | no [could not find logdir]
df | yes | yes
df_inode | yes | yes
ip_ | no | yes
ipmi_ | no | no [missing ipmitool command]
Если в столбце Suggestions содержится yes, то такой плагин можно использовать. Если в столбце Used находится yes, то такой плагин уже используется. Если оба столбца содержат no, то такой плагин не используется и его нельзя использовать в данной системе.
На сервере и клиенте Munin список доступных плагинов можно найти в каталоге /etc/munin/plugins.
Пакет munin-plugins-extra должен был установиться во время установки Munin. Если это не так, установите его сейчас:
Чтобы включить доступный плагин, который в данный момент не используется, создайте для него символическую ссылку из каталога /usr/share/munin/plugins в каталог /etc/munin/plugin.
Например, чтобы включить модуль fail2ban, сначала установите fail2ban:
Затем создайте символическую ссылку, которая включает плагин Munin:
Перезагрузите Munin
Подождите несколько минут, перезапустите веб-интерфейс. После этого на экране появятся графики для 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 может использовать плагины, но не все они доступны в определённых системах. За дополнительной информацией можно обратиться к сайту проекта.