// Engineering Log
Мониторинг: Часть 2 — Munin
Опубликовано 22.09.2026
// Быстрый маршрут
Эта статья относится к теме Деплой и стабильная работа.
Munin — одна из старейших систем мониторинга с открытым исходным кодом (лицензия GPLv2). Она собирает системные показатели с серверов и строит по ним готовые графики: без языка запросов, без отдельной базы данных и почти без настройки. Проект продолжает выпускать исправления ветки 2.0 — версии 2.0.77 и 2.0.78 вышли в сентябре 2026 года, — но новых возможностей в нём почти не появляется.
Как устроен Munin
Munin состоит из двух частей.
- munin-node — агент на каждом наблюдаемом сервере. Он слушает TCP-порт 4949 и по запросу запускает плагины, которые возвращают значения метрик.
- munin (мастер) — сервер сбора. Раз в пять минут он опрашивает все агенты, сохраняет данные в файлы RRDtool и строит HTML-страницы с графиками за день, неделю, месяц и год.
Плагин — это обычный исполняемый скрипт на любом языке. В режиме config он описывает график, в обычном режиме выводит значения. Поэтому собственную метрику, например число заказов в базе, можно добавить за полчаса.
RRDtool хранит данные в файлах фиксированного размера: чем старше данные, тем сильнее они усредняются. Годовой график поэтому показывает общую тенденцию, а не точные значения каждого пятиминутного интервала.
Установка на Debian и Ubuntu
Пакеты есть в стандартных репозиториях.
На сервере-мастере:
sudo apt install munin munin-nodeНа каждом наблюдаемом сервере:
sudo apt install munin-nodeАгент по умолчанию принимает подключения только с локального адреса. Чтобы его опрашивал мастер, в /etc/munin/munin-node.conf добавляют адрес мастера в виде регулярного выражения:
allow ^127\.0\.0\.1$
allow ^192\.0\.2\.10$Затем подбирают подходящие плагины и перезапускают агент:
sudo munin-node-configure --suggest # какие плагины подходят этому серверу
sudo munin-node-configure --shell | sudo sh # включить предложенные
sudo systemctl restart munin-nodeНа мастере каждый сервер описывают в /etc/munin/munin.conf:
[web01.example.ru]
address 192.0.2.21
use_node_name yesЧерез несколько циклов опроса графики появятся в каталоге, который отдаёт веб-сервер (в пакетах Debian — /var/cache/munin/www). Страницы лучше закрыть паролем или доступом только из внутренней сети: они показывают внутреннее устройство серверов.
Достоинства
- Быстрый старт. Базовый мониторинг нескольких серверов настраивается за час.
- Много готовых плагинов. Процессор, память, диски, сеть, Nginx, Apache, MySQL, PostgreSQL, почтовые очереди — большая часть включается автоматически.
- Лёгкий агент. munin-node почти не расходует ресурсы и подходит даже для слабых машин.
- Простые собственные метрики. Плагин пишется на Bash, Python или Perl без изучения API.
- Всё на одной странице. Графики всех серверов видны сразу, без настройки панелей.
Недостатки
- Ограниченный масштаб. На сотнях серверов пятиминутный цикл опроса и построения графиков перестаёт укладываться во время.
- Слабые оповещения. Munin умеет сравнивать значения с порогами
warningиcriticalи вызывать внешнюю команду, но группировки, подавления и маршрутизации оповещений в нём нет. - Статичные графики. Изображения нельзя масштабировать, сравнивать произвольные метрики и строить запросы.
- Грубая детализация. Интервал в пять минут и усреднение старых данных не позволяют разбирать короткие всплески.
Когда Munin уместен сегодня
- Несколько серверов у небольшой компании или у одного администратора.
- Нужно быстро получить историю загрузки, чтобы понять, хватает ли ресурсов.
- Старые серверы, где уже работает Munin и нет причин его менять.
Если серверов больше двух-трёх десятков, нужны гибкие оповещения или метрики приложений, лучше сразу выбрать Prometheus или Zabbix. При переходе полезно помнить, что многие плагины Munin имеют аналоги среди экспортеров Prometheus и шаблонов Zabbix.
Типичные ошибки
- Агент открыт наружу. Порт 4949 без ограничений доступен из интернета. Нужны правило
allowтолько для мастера и закрытый межсетевым экраном порт. - Графики без защиты. Каталог с HTML-страницами опубликован без пароля.
- Плагин не появляется. После добавления плагина забыли перезапустить
munin-node; проверить вывод можно командойmunin-run <имя_плагина>. - Мониторинг без оповещений. Графики строятся, но никто их не смотрит. Хотя бы для диска и доступности сервера стоит настроить пороги и отправку уведомлений.
// Похожая задача
Если у вас похожая ситуация
Эта статья относится к одной из рабочих тем. Можно продолжить чтение по теме, перейти на главную, чтобы понять, чем я занимаюсь, или сразу открыть услуги.
Тема статьи
Деплой и стабильная работа
Docker, CI/CD, релизы, мониторинг, observability и разбор инцидентов.
Часто с этим приходят
- Настроить деплой без ручных действий и хаоса
- Подключить мониторинг, алерты и базовую observability
- Разобрать инциденты и стабилизировать production
// Следующий шаг
Если вам нужна не только статья, а помощь по этой теме, удобнее сразу перейти в услугу. Главная и подборка материалов остаются рядом.
Открыть услуги// Contact
Нужна помощь?
Свяжись со мной и я помогу решить проблему
Написать в TelegramОтвечаю в течение рабочего дня (03:00–13:00 GMT)
Или оставьте заявку здесь:
// Related