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

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

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

Версия 1.0
Автор: Фалко Тимме

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

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

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

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

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

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

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

Чтобы установить munin на Debian Etch, мы делаем следующее:

apt-get install munin munin-node

Затем мы должны отредактировать файл конфигурации 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 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…)

3 Защита каталога вывода 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.