Мониторинг. · 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 require valid-user |

Затем мы должны создать файл паролей /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 restart

5 Обновление конфигурации сервера 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 Ссылки

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.