Мониторинг. · 3 min read · Oct 16, 2025
Мониторинг нескольких систем с помощью munin (Debian Etch)
В этой статье я опишу, как вы можете мониторить несколько систем с помощью munin. munin создает симпатичные графики почти каждого аспекта вашего сервера (средняя загрузка, использование памяти, использование ЦП, пропускная способность MySQL, трафик eth0 и т. д.) без особой настройки. Я установлю клиент munin на все системы, которые будут мониториться (включая сам сервер munin); клиенты munin будут сообщать на сервер munin.
Этот учебник был написан для Debian Etch, но конфигурация должна применяться и к другим дистрибутивам с небольшими изменениями.
Я хочу сначала сказать, что это не единственный способ настройки такой системы. Существует много способов достижения этой цели, но это тот путь, который я выбираю. Я не даю никаких гарантий, что это сработает для вас!
1 Предварительная заметка
Имя хоста нашего сервера munin — server1.example.com (IP-адрес: 192.168.0.100), и у нас есть веб-сайт www.example.com на нем с корнем документа /var/www/www.example.com/web.
Я использую один клиент munin здесь, server2.example.com (IP-адрес: 192.168.0.101). Конечно, вы можете добавить столько клиентских систем, сколько захотите.
2 Установка и настройка munin на сервере
сервер munin (server1.example.com):
Чтобы установить клиент и сервер 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. С этой конфигурацией сервер munin может мониторить сам себя. Без комментариев измененный файл выглядит так:
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 на сервере munin (необязательно)
сервер munin (server1.example.com):
Теперь хорошей идеей будет защитить паролем директорию /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 |
Затем мы должны создать файл паролей /var/www/www.example.com/.htpasswd. Мы хотим войти с именем пользователя admin, поэтому мы делаем следующее:
htpasswd -c /var/www/www.example.com/.htpasswd adminВведите пароль для admin, и вы готовы!
4 Установка и настройка munin на клиенте
клиент munin (server2.example.com):
На клиентской системе нам нужно только установить пакет клиента munin, который называется munin-node:
apt-get install munin-nodeДалее мы должны сообщить клиенту munin, что наш сервер munin server1.example.com с IP-адресом 192.168.0.100 может подключаться для получения данных от клиента. Для этого мы открываем /etc/munin/munin-node.conf и добавляем строку allow ^192.168.0.100$ внизу. После этого файл должен выглядеть так:
vi /etc/munin/munin-node.conf| # # Пример конфигурационного файла для munin-node # log_level 4 log_file /var/log/munin/munin-node.log port 4949 pid_file /var/run/munin/munin-node.pid background 1 setseid 1 # Какой порт привязывать; host * user root group root setsid yes # Регулярные выражения для файлов, которые нужно игнорировать ignore_file ~$ ignore_file \.bak$ ignore_file %$ ignore_file \.dpkg-(tmp|new|old|dist)$ ignore_file \.rpm(save|new)$ # Установите это, если клиент не сообщает правильное имя хоста при # telnet к localhost, порт 4949 # #host_name localhost.localdomain # Список адресов, которым разрешено подключаться. Это должно быть # регулярное выражение, из-за повреждения в Net::Server, которое # не понимает сетевую нотацию в стиле CIDR. Вы можете повторить # строку allow столько раз, сколько хотите allow ^127\.0\.0\.1$ allow ^192\.168\.0\.100$ |
Наконец, мы перезапускаем клиент munin:
/etc/init.d/munin-node restart5 Обновление конфигурации сервера munin
сервер munin (server1.example.com):
Теперь мы должны сообщить серверу munin, что есть еще одна система для мониторинга (server2.example.com с IP-адресом 192.168.0.101). Для этого мы открываем /etc/munin/munin.conf и добавляем раздел для server2.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 [server2.example.com] address 192.168.0.101 use_node_name yes |
Далее мы перезапускаем munin:
/etc/init.d/munin-node restartЧерез несколько минут вы должны найти ссылку на server2.example.com на странице munin (http://www.example.com/monitoring/):

Когда вы нажмете на эту ссылку, вы увидите графики для server2.example.com.
6 Ссылки
- munin: http://munin-monitoring.org/
Get new posts in your inbox
No spam. Unsubscribe anytime.