ADG Оставить заявку
Блог Системное администрирование 4 мин чтения

Zabbix 1.4: авто-обнаружение по SNMP и встроенные графики рядом с Nagios

Попробовали Zabbix 1.4 рядом с Nagios: авто-обнаружение хостов через SNMP и встроенные графики убедили. Мигрировали одного клиента - порог вхождения оказался ниже.

Контекст момента

Zabbix 1.4 выходит в 2007 году как open-source альтернатива Nagios с встроенной базой данных и web-интерфейсом

У нас уже несколько лет работает связка Nagios + Cacti: Nagios смотрит за доступностью, Cacti рисует графики через SNMP. Схема рабочая, мы её отстраивали постепенно, и в целом она нас устраивает. Но у неё есть известный недостаток: два инструмента, две точки конфигурации, два интерфейса. Добавить новый хост - значит прописать его в Nagios, потом отдельно в Cacti, потом убедиться что SNMP отвечает и шаблоны подтянулись. Не сложно, но и не быстро.

Zabbix давно маячил на горизонте. Версия 1.4 вышла - решили наконец потрогать серьёзно, а не просто поставить в тестовой среде и забыть.

Что такое Zabbix 1.4

По сути - единая система, которая закрывает то, что у нас сейчас делают двое. Встроенная база данных (MySQL или PostgreSQL на выбор), web-интерфейс, агенты для хостов, SNMP-опрос, алерты, графики - всё в одном пакете. Разработка ведётся командой из Латвии, проект открытый, лицензия GPL.

Архитектурно Zabbix делит задачи между zabbix-server (сборка данных, обработка триггеров) и zabbix-agent (активные и пассивные проверки на хосте). Для сетевого оборудования агент не нужен - работает через SNMP напрямую.

Авто-обнаружение: это то, из-за чего мы вообще полезли

В Nagios добавить хост - руками написать define host{} в конфиге, перечитать конфиг, убедиться что плагины отрабатывают. В Cacti - зайти в web, добавить устройство, выбрать шаблоны. Zabbix 1.4 предлагает Network Discovery: задаёшь диапазон IP и список проверок (SNMP community, порт агента, ICMP), запускаешь - он сам находит живые хосты и добавляет их по шаблонам.

Проверяли на реальной клиентской подсети: коммутаторы Cisco, несколько Linux-серверов, Windows-машины. Discovery прошёл за несколько минут и подтянул большую часть узлов автоматически. Не идеально - пара хостов с нестандартным SNMP community не подхватилась, добавляли руками. Но остальные появились в интерфейсе с уже подвешенными шаблонами и запущенными проверками.

Для нас это принципиальный момент: новый объект на сопровождении с несколькими десятками узлов - в Nagios+Cacti это несколько часов первичной настройки, в Zabbix - значительно быстрее.

Встроенные графики: не надо Cacti

Zabbix рисует графики прямо из тех же данных, которые собирает для алертов. Не нужен отдельный RRDtool, отдельный Cacti, отдельные шаблоны. Данные собираются - график строится. Зум, выбор периода, наложение нескольких метрик на один экран - всё в одном интерфейсе.

Сравнивать с Cacti 0.8.6 по гибкости рановато - у Cacti больше опций для кастомизации графиков и шаблонов. Но для типового случая - CPU, память, трафик интерфейса, дисковое место - Zabbix справляется без дополнительных инструментов.

Миграция одного клиента: что получилось

Решили не рассуждать теоретически, а перевести одного реального клиента с Nagios+Cacti на Zabbix. Объект небольшой: десяток серверов, несколько коммутаторов, маршрутизатор. Именно тот уровень, где цена ошибки умеренная и можно спокойно экспериментировать.

Параллельно держали старую систему живой неделю - Zabbix рядом, Nagios тоже работает. Сравнивали алерты: если что-то срабатывает в одном и молчит в другом - разбираемся. Критических расхождений не было, мелкие - были, в основном из-за разных порогов по умолчанию.

Через неделю перекрыли: Nagios и Cacti выключили, Zabbix остался единственным.

Неожиданный эффект - клиент сам начал смотреть в интерфейс. С Nagios такого не было: web-интерфейс Nagios - это таблица со статусами, зелёный/красный, для администратора нормально, для заказчика непонятно. Zabbix с его графиками и дашбордами оказался читаемее для нетехнического человека. Теперь клиент сам периодически заходит, смотрит загрузку серверов, задаёт вопросы. Это неплохо: вопросы лучше, чем «а что у нас вообще происходит».

Что не понравилось

Конфигурация через web - двойственное ощущение. С одной стороны, нет текстовых конфигов которые надо хранить в git и синхронизировать. С другой - воспроизвести конфигурацию на другом сервере сложнее: нет единого файла, всё в базе. Экспорт/импорт в 1.4 есть, но частичный.

Документация пока жидкая - официальная wiki есть, но не на все вопросы находишь ответ быстро. Иногда спасает исходный код и форум.

Zabbix-агент - ещё один пакет, который надо ставить на каждый Linux-хост. Nagios работал через SSH или NRPE, тут отдельный демон. Не проблема, но надо иметь в виду при планировании rollout.

Итог

Связка Nagios+Cacti никуда не денется у тех клиентов, где она уже настроена и работает - менять ради смены смысла нет. Но для новых объектов на сопровождении будем ставить Zabbix: авто-обнаружение, единый интерфейс для алертов и графиков, и более низкий порог для заказчика.

Инструмент свежий, edge cases наверняка вылезут. Посмотрим что будет через пару месяцев реальной работы.

Контакт

Нужна такая же инженерная работа?

Опишите задачу и контекст. Ответим в течение рабочего дня, при необходимости подпишем NDA.