Мониторинг сервера · 2 min read · Oct 16, 2025

Мониторинг сервера с помощью munin и monit на CentOS 5.2

В этой статье я опишу, как вы можете мониторить свой сервер CentOS 5.2 с помощью munin и monit. munin создает симпатичные графики почти по каждому аспекту вашего сервера (средняя загрузка, использование памяти, использование CPU, пропускная способность MySQL, трафик eth0 и т.д.) без особой настройки, в то время как monit проверяет доступность таких сервисов, как Apache, MySQL, Postfix и принимает соответствующие меры, такие как перезапуск, если обнаруживает, что сервис работает не так, как ожидалось. Сочетание этих двух дает вам полный мониторинг: графики, которые позволяют вам распознавать текущие или предстоящие проблемы (например, “Нам скоро нужен больший сервер, наша средняя загрузка быстро растет.”), и сторожевой механизм, который обеспечивает доступность контролируемых сервисов.

Хотя munin позволяет вам мониторить более одного сервера, мы здесь обсудим только мониторинг системы, на которой он установлен.

Этот учебник был написан для CentOS 5.2, но конфигурация должна применяться и к другим дистрибутивам с небольшими изменениями.

Я хочу сказать сначала, что это не единственный способ настройки такой системы. Существует множество способов достижения этой цели, но это тот путь, который я выбираю. Я не даю никаких гарантий, что это сработает для вас!

1 Предварительная заметка

Имя хоста нашей системы - server1.example.com, и у нас есть веб-сайт www.example.com на нем с корнем документа /var/www/www.example.com/web.

2 Включение репозитория RPMforge

На CentOS 5.2 munin и monit недоступны в стандартных репозиториях CentOS. К счастью, мы можем установить их из репозитория RPMforge. Чтобы включить репозиторий RPMforge, мы выполняем

wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm  
rpm -Uvh rpmforge-release-0.3.6-1.el5.rf.i386.rpm
rm -f rpmforge-release-0.3.6-1.el5.rf.i386.rpm

на хостах i386 и

wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm  
rpm -Uvh rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm
rm -f rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm

на хостах x86_64 (пожалуйста, проверьте https://rpmrepo.org/RPMforge/Using для получения последних версий).

3 Установка и настройка munin

Чтобы установить munin на CentOS 5.2, мы делаем это:

yum install munin munin-node

Затем мы создаем ссылки для автозагрузки системы для munin и запускаем его:

chkconfig --levels 235 munin-node on  
/etc/init.d/munin-node start

Далее, мы должны отредактировать файл конфигурации munin /etc/munin/munin.conf. Мы хотим, чтобы munin помещал свой вывод в директорию /var/www/www.example.com/web/monitoring, поэтому мы изменяем значение htmldir, и мы хотим, чтобы он использовал имя server1.example.com вместо localhost.localdomain в HTML-выводе, поэтому мы заменяем localhost.localdomain на server1.example.com. Без комментариев измененный файл выглядит так:

vi /etc/munin/munin.conf

| [...] dbdir /var/lib/munin htmldir /var/www/www.example.com/web/monitoring logdir /var/log/munin rundir /var/run/munin # Где искать HTML-шаблоны tmpldir /etc/munin/templates [...] # простое дерево хостов [server1.example.com] address 127.0.0.1 use_node_name yes [...] |

Затем мы создаем директорию /var/www/www.example.com/web/monitoring и изменяем ее владельца на пользователя и группу munin, иначе munin не сможет поместить свой вывод в эту директорию. Затем мы перезапускаем munin:

mkdir -p /var/www/www.example.com/web/monitoring  
chown munin:munin /var/www/www.example.com/web/monitoring  
/etc/init.d/munin-node restart

Теперь подождите несколько минут, чтобы munin мог произвести свой первый вывод, а затем перейдите по адресу http://www.example.com/monitoring/ в вашем браузере, и вы увидите первую статистику. Через несколько дней это может выглядеть так:

(Это всего лишь небольшой фрагмент множества графиков, которые производит munin…)

4 Защита директории вывода munin паролем (по желанию)

Теперь хорошей идеей будет защитить директорию /var/www/www.example.com/web/monitoring паролем, если вы не хотите, чтобы каждый мог видеть каждую мелкую статистику о вашем сервере.

Для этого мы создаем файл .htaccess в /var/www/www.example.com/web/monitoring:

vi /var/www/www.example.com/web/monitoring/.htaccess

| AuthType Basic AuthName "Только для участников" AuthUserFile /var/www/www.example.com/.htpasswd require valid-user |

Затем мы должны создать файл паролей /var/www/www.example.com/.htpasswd. Мы хотим войти с именем пользователя admin, поэтому мы делаем это:

htpasswd -c /var/www/www.example.com/.htpasswd admin

Введите пароль для admin, и вы готовы!

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.