Мониторинг серверов · 5 min read · Oct 21, 2025
Мониторинг сервера с помощью Munin и Monit на Ubuntu 14.04 LTS
Этот учебник покажет вам, как мониторить сервер Ubuntu 14.04 с помощью Munin и Monit. Munin создает красивые графики почти по всем аспектам вашего сервера, в то время как Monit проверяет доступность таких сервисов, как Apache, MySQL, Postfix, и принимает соответствующие меры, такие как перезапуск, если обнаруживает, что сервис работает не так, как ожидалось. Сочетание этих двух инструментов дает вам полный мониторинг: графики, которые позволяют вам распознавать текущие или предстоящие проблемы, и сторожевой таймер, который обеспечивает доступность контролируемых сервисов. Этот учебник содержит две (необязательные) главы о интеграции Munin и Monit в ISPConfig.
1 Предварительная заметка
Имя хоста нашей системы - server1.example.com, и у нас есть веб-сайт www.example.com с корнем документа /var/www/www.example.com/web.
Следующие шаги необходимо выполнить от имени пользователя root. Чтобы стать пользователем root на вашем сервере, выполните эту команду:
sudo suУбедитесь, что система обновлена, прежде чем начинать установку Munin, выполните:
apt-get update
apt-get upgradeApache используется для отображения страниц Munin, модуль apache fcgid необходим для функции масштабирования графиков Munin. Я установлю apache и модуль libapache2-mod-fcgid с помощью apt.
apt-get install apache2 libcgi-fast-perl libapache2-mod-fcgidВключите модуль fcgid в apache.
a2enmod fcgid2 Установка и настройка Munin
Чтобы установить Munin на Ubuntu 14.04, выполните следующие команды:
apt-get install munin munin-node munin-plugins-extraКогда сервер работает с MySQL или MariaDB, включите несколько дополнительных плагинов Munin для мониторинга MySQL:
cd /etc/munin/plugins
ln -s /usr/share/munin/plugins/mysql_ mysql_
ln -s /usr/share/munin/plugins/mysql_bytes mysql_bytes
ln -s /usr/share/munin/plugins/mysql_queries mysql_queries
ln -s /usr/share/munin/plugins/mysql_slowqueries mysql_slowqueries
ln -s /usr/share/munin/plugins/mysql_threads mysql_threadsДалее мы должны отредактировать файл конфигурации Munin /etc/munin/munin.conf. Раскомментируйте строки dbdir, htmldir, logdir, rundir и tmpldir (значения по умолчанию подходят). Мы хотим, чтобы Munin использовал имя server1.example.com вместо localhost.localdomain в HTML-выводе, поэтому мы заменяем localhost.localdomain на server1.example.com в разделе простого дерева хостов. Без комментариев измененный файл выглядит так:
nano /etc/munin/munin.conf# Пример конфигурационного файла для Munin, сгенерированного с помощью 'make build'
# Следующие три переменные указывают, где находятся RRD
# базы данных, HTML-вывод, логи и файлы блокировки/pid. Все они
# должны быть записываемыми пользователем, запускающим munin-cron. Все они
# по умолчанию имеют значения, которые вы видите здесь.
#
dbdir /var/lib/munin
htmldir /var/cache/munin/www
logdir /var/log/munin
rundir /var/run/munin
# Где искать HTML-шаблоны
#
tmpldir /etc/munin/templates
# Где искать статические www файлы
#
#staticdir /etc/munin/static
# временные cgi файлы находятся здесь. обратите внимание, что они должны быть записываемыми
# пользователем cgi (обычно nobody или httpd).
#
# cgitmpdir /var/lib/munin/cgi-tmp
# (Точно один) каталог для включения всех файлов.
includedir /etc/munin/munin-conf.d
[...]
# простое дерево хостов
[server1.example.com]
address 127.0.0.1
use_node_name yes
[...] Мы должны найти файл конфигурации Apache для Munin /etc/munin/apache.conf - он определяет псевдоним, называемый munin, для HTML-выходного каталога munin /var/cache/munin/www, что означает, что мы можем получить доступ к munin со всех веб-сайтов на этом сервере, используя относительный путь /munin (например, http://www.example.com/munin).
Файл apache.conf, который поставляется с Ubuntu 14.04, все еще содержит старый синтаксис apache 2.2, который не является правильным для apache 2.4, поэтому мы заменяем этот файл на новый. Сначала мы создаем резервную копию старого файла.
mv /etc/munin/apache.conf /etc/munin/apache.conf_bakОткройте новый файл с помощью редактора:
nano /etc/munin/apache.confИ вставьте содержимое ниже:
Alias /munin /var/cache/munin/www
# Требовать локальный доступ
Require all granted
Options FollowSymLinks SymLinksIfOwnerMatch
Options None
ScriptAlias /munin-cgi/munin-cgi-graph /usr/lib/munin/cgi/munin-cgi-graph
# Требовать локальный доступ
Require all granted
Options FollowSymLinks SymLinksIfOwnerMatch
SetHandler fcgid-script
SetHandler cgi-script
Перезапустите Apache:
service apache2 restartЗатем перезапустите Munin:
service munin-node restartТеперь подождите несколько минут, чтобы Munin мог произвести свой первый вывод, а затем перейдите по адресу http://www.example.com/munin/ в вашем браузере, и вы увидите первые статистические данные:

(Это всего лишь небольшой фрагмент множества графиков, которые производит munin…)
3 Защита паролем каталога вывода Munin (необязательно, но настоятельно рекомендуется)
Теперь хорошей идеей будет защитить паролем каталог вывода munin, если вы не хотите, чтобы каждый мог видеть каждую мелкую статистику о вашем сервере.
Для этого мы должны создать файл паролей /etc/munin/munin-htpasswd. Мы хотим войти с именем пользователя admin, поэтому мы делаем это:
htpasswd -c /etc/munin/munin-htpasswd adminВведите пароль для admin. Затем снова откройте /etc/munin/apache.conf…
nano /etc/munin/apache.conf… закомментируйте “Require all granted” и добавьте строки, которые я выделил красным:
Alias /munin /var/cache/munin/www
# Требовать локальный доступ
# Require all granted
AuthUserFile /etc/munin/munin-htpasswd
AuthName "Munin"
AuthType Basic
Require valid-user
Options None
ScriptAlias /munin-cgi/munin-cgi-graph /usr/lib/munin/cgi/munin-cgi-graph
# Требовать локальный доступ
# Require all granted
AuthUserFile /etc/munin/munin-htpasswd
AuthName "Munin"
AuthType Basic
Require valid-user
SetHandler fcgid-script
SetHandler cgi-script
Затем перезапустите Apache:
service apache2 restart4 Включение дополнительных модулей в Munin
Команда Munin “munin-node-configure –suggest” может быть использована для получения рекомендаций по дополнительным модулям Munin, которые можно включить на сервере. Выполните:
munin-node-configure --suggestВывод должен быть похож на этот:

Столбец “used” показывает, включен ли модуль, столбец “Suggestions” показывает, работает ли на сервере сервис, который может быть мониторирован этим модулем. Создайте символическую ссылку для модуля в /etc/munin/plugins, чтобы включить его.
Здесь я включу модули apache_* в качестве примера:
cd /etc/munin/plugins
ln -s /usr/share/munin/plugins/apache_accesses
ln -s /usr/share/munin/plugins/apache_processes
ln -s /usr/share/munin/plugins/apache_volumeПерезапустите Munin, чтобы загрузить новую конфигурацию.
service munin-node restart5 Настройка Munin в ISPConfig (необязательно)
Панель управления ISPConfig имеет опцию для отображения данных Munin в модуле мониторинга ISPConfig. Данные Munin загружаются в iframe, так как большинство браузеров блокируют загрузку контента по http на https-сайте, нам нужно будет найти способ получить доступ к статистике Munin через SSL. Самый простой способ - использовать vhost ISPConfig с включенным SSL для этого, создав символическую ссылку внутри веб-каталога ISPConfig на каталог данных Munin www.
ln -s /var/cache/munin/www /usr/local/ispconfig/interface/web/muninТеперь мы можем получить доступ к Munin в браузере по адресу https://server1.example.com:8080/munin через apache vhost ISPConfig.
Следующий шаг - добавить конфигурацию в ISPConfig.
Войдите в ISPConfig как пользователь-администратор (admin) и перейдите в Система > Конфигурация сервера, заполните URL, имя пользователя и пароль для Munin, как показано ниже.

Убедитесь, что вы используете https:// и порт 8080 в URL munin.
Get new posts in your inbox
No spam. Unsubscribe anytime.