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 наверняка вылезут. Посмотрим что будет через пару месяцев реальной работы.
- Nagios: алерты, а не графики · 21 февраля 2005
- Cacti и SNMP: добавляем графики к Nagios и начинаем видеть деградацию раньше алерта · 20 июля 2006