// 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

Пакеты есть в стандартных репозиториях.

На сервере-мастере:

bash
sudo apt install munin munin-node

На каждом наблюдаемом сервере:

bash
sudo apt install munin-node

Агент по умолчанию принимает подключения только с локального адреса. Чтобы его опрашивал мастер, в /etc/munin/munin-node.conf добавляют адрес мастера в виде регулярного выражения:

allow ^127\.0\.0\.1$
allow ^192\.0\.2\.10$

Затем подбирают подходящие плагины и перезапускают агент:

bash
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)

Или оставьте заявку здесь:

Подтвердите, что вы не бот.

Написать и получить быстрый ответ