Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
С серверов серверов собираются собираются не результаты результаты проверок проверок ( сломалось или нет), а
количественные характеристики работы, которые анализируются на стороне сервера;
Не забывайте, что изначально Nagios задумывался как модульная система (ядро + всё остальное) и Галстад всячески вылизывал ядро и не подпускал к нему никого (я уже почти доделал перевод статьи, почитаем — обсудим), максимально вынеся что можно во внешние
тулзы. Конфигуратор — не исключение. Более того, их много и всегда можно выбрать под свои задачи.
Zabbix как раз и появился как решение, когда надо очень быстро поставить мониторинг, не сильно забивая голову нюансами и про него забыть, но просто — не всегда бывает хорошо.
Конфигурация у zabbix всё равно есть, хранится она в текстовом файле или СУБД — тоже нет никакой разницы, конфигурируется она внешним или внутренним конфигуратором — тоже нет разницы.
Чтобы конфигурация стала активна, основной сервис мониторинга надо перезапускать.
Nagios/Icinga долго стартует, если работают NDOUtils/IDOUtils, без них — 500 хостов / 8000 сервисов взлетают меньше чем за полминуты. Кстати, Icinga IDOUtils умеют писать данные с объектов в Oracle/PostgreSQL/MySQL (на тот случай если это нужно).
Поэтому если нет разницы, то преимущества одной системы мониторинга перед другой уже выходят на уровне: «знаем как реализовать ту или иную задачу в конкретной системе, а про эту мы ничего не знаем и трогать её не будем». Это сила привычки, не более того. Хорошо это или плохо — вылазит только у заказчика, при росте его инфраструктуры — может справиться система с потоком событий мониторинга или нет.
Второй вопрос некорректно сформулирован. формат perfdata нужен для статистики, некоторые плагины его не возвращают (но всегда можно прикрутить, если сильно надо).
Статусы возвращаемые плагинами просты
FLAPPED — если объект меняет свои статусы в течение короткого промежутка времени (zabbix в данном конкретном случае честно сообщает о каждой смене состояния, забивая логи, почту и телефон смс-ками)
В случае хранения конфигурации в СУБД она хранится централизовано и ее забор весьма просто унифицируется. В случае же конфигурации на файлах это начинает доставлять определенную головную боль. Особенно если конфигурация развесистая. Ну сами по судите. В случае если конфигурация лежит в СУБД я ей могу манипулировать такой вещью как SQL. В случае же текстовых файлов мне придется так или иначе изворачиваться.
Чтобы конфигурация стала активна, основной сервис мониторинга надо перезапускать.
В zabbix? Ничего не надо перезапускать. Поменял применилось.
Ничего подобного. Попробуйте развернуть Nagios/Icinga для сети с большим количеством snmp оборудования. Вы просто утомитесь это делать.
В этом и проблема. Если мне надо к примеру сделать, чтобы nagios мне просигнализировал, что на двух каналах в течении пяти минут есть перекос в сторону одного канала на 5 гигабит, то мне придется варганить свой отдельный плагин. Других методов там нет.
В этом и проблема. Он умеет получать только статусы от плагинов. Вся логика живет в них. В zabbix эта вещь зависит от данных и настраивается выражениями в триггерах.
Вы сходили бы почитали мотивацию яндекса почему они отказались от nagios.
Суровая действительность: nagios
• На серверах по cron запускаются скрипты с проверками, результаты отправляются на сервера nagios;
• Конфигурация nagios — большой-большой файл, генерируемый скриптами с описанием серверов, сервисов, групп,
правил оповещения и т.д.;
• Помимо nagios, данные хранятся в rrd, по которым строятся графики.
Nagios: недостатки
• Система не отказоустойчива и масштабируется переносом части проверок на отдельные сервера;
• Все изменения конфигурации выполняются правкой файлов конфигурации с последующим перезапуском nagios (~10-15 минут);
• Слишком большой интервал между проверками и замерами параметров;
• RRD усредняет данные, поэтому невозможно сказать, каково было точное значение параметров, например, месяц назад.
Каждую из этих проблем в отдельности можно было бы решить. Однако решив все, получим почти полностью переписанный nagios.
Так же настраивается и эскалация. Если у нас навернулся узел выше, то уведомлять о том что у нас навернулись еще и узлы ниже не требуется.
Я подозреваю вам надо несколько глубже изучить zabbix и то как он работает.
Конфигурация nconf и nagiosql хранится в СУБД!!! Наверное, вы этого не знали раньше. У LCONF всё хранится в базе LDAP (как я выше написал).
Ну а вы физику процесса за этим «применилось» понимаете? процесс zabbix_server, приостановил свою работу, считал новую конфигурацию, запустился и продолжил работу дальше. Если это не так, то это новое достижение в ИТ — единичный сервис, без перерыва в работе, волшебным образом, считал новый конфиг.
Незнание и еще раз незнание возможностей icinga/nagios. У меня каждый хост имеет настроенный snmp и прекрасно работают. Большинство плагинов, особенно касающихся мониторинга оборудования работают на основе snmp. И, знаете развёртывание по snmp — самое простое.
На тот случай, если среди нескольких тысяч плагинов нагиос/ишинга не удалось найти прямо соответствующее оборудованию, то всегда есть универсальный check_snmp, который с целевого устройства по заданному oid или символьному наименованию может собирать всё в самых разных вариантах.
Мне не очень понятно, почему вы ортодоксально считаете только один путь истинным?.. То, что в zabbix надо писать внутри конфигуратора операции сравнения с сохранёнными значениями, считанными через SNMP- это, видимо, за работу не считается?
граница WARNING — 80 сообщений, граница CRITICAL — 100. Логика принятия решений об извещении здесь. Чтобы ее поменять, не надо лазить в плагин (кстати, check_snmp — бинарный файл, меняем только значения в командной строке, а в параметре -l еще и указано что можно подписать для возвращаемого значения, чтобы было понятно и сисадмин голову не ломал :)
В zabbixe количество шагов было бы ровно то же самое — прописали тело триггера, условия срабатывания и т.д. Здесь просто делается немного по-другому. Не стоит по этому поводу так расстраиваться.
п.1 означает, что эксплуатанты системы мониторинга в Яндекс, ничего не слышали про NRPE — клиента для Unix/Linux машин, который честно отдаёт все запрошенные данные, вовремя и с минимальными задержками.
п.2 — ДА! У самого nagios/icinga всё лежит в файле. НО! Если мы используем конфигураторы для nagios/icinga у них тоже всё лежит в СУБД. И у Zabbix тот же самый объем информации лежит внутри в его СУБД. Где разница?
п.3 — ДА! НО! при использовании NDOUtils(nagios)/IDOUtils(icinga) данные можно хранить не только в файлах, но и в СУБД. В случае Icinga можно хранить в Oracle (а у клиента уже есть Oracle Real Application Clusters (отличная штука в плане выживаемости, если сравнивать с MySQL), а также PostgresQL и MySQL, если хочется сэкономить на лицензиях на Oracle run-time library.
«The cake is a lie». Система отказоустойчива (линк я привёл раньше), система масштабируется (линк там же)
Про существование конфигураторов, которые позволяют управлять в том числе распределенными серверами мониторинга, команде сисадминов тоже ничего не известно.
Слишком большой интервал между проверками. Use Icinga, Luke. Сюприз! у них это всё существенно быстрее (использование в CERN это доказывает), а конфигурационные файлы — одни и те же. :) Или shinken — тот, по отзывам, очень быстрый. Сам не проверял, говорить ничего не буду.
RRD усредняет данные. Без комментариев. С самими данными ничего не происходит.
Возьмем не RRDTools, а визуализатор PNP4nagios, например, (который приворачивается достаточно легко и к nagios и к icinga (объявлено, что он 100%-icinga совместим). В нём я выделяю любой мне интересный интервал, и он разворачивается вплоть до отдельных проверок, тут же на графике печатается min/max/avg значения. Если нужны другие значения, то темплейт всегда можно доработать. Это документировано.
Особенно замечательно вот это утверждение: Решив каждую из проблем, получим переписанный nagios…
То есть, задача переписывания zabbix таки не смутила никого, хотя можно было обойтись малой кровью — внимательно посмотрев на имеющиеся бесплатные продукты.
Я еще раз говорю — это хороший проект, но с не совсем честным описанием текущего ландшафта задачи и никакой проработкой альтернатив.
Это не эскалация — это зависимости между хостами/сервисами. Эскалация — это извещения по группам и уровням пользователей, в зависимости от времени простоя/состояния объекта — полезная вещь для SLA, но тоже с определёнными ограничениями. У zabbix всё лежит в одной кучке, а у nagios/icinga деление достаточно чёткое.
Zabbix у нас находился в эксплуатации около 1,5 лет, дорабатывает последний месяц. Запустилось с полпинка, графики рисовались, статусы обрабатывались. А потом появились удалённые площадки. Решили заранее проверить распределённый мониторинг, zabbix мониторит хорошо, только master-slave у него работают через репликацию MySQL, а она кушает канал малопредсказуемым образом.
Icinga куда как экономнее относится к полосе, для нас это важно.
Во-вторых набор плагинов к nagios/icinga меня лично приятно удивил. Я нашел всё готовое под почти под весь наш парк оборудования.Не надо сидеть ковырять SNMP базы, не надо пытаться разбираться почему они правильно не компилируются — всё уже сделано до нас и работает. Для большинства плагинов нужны адрес хоста и название snmp-комьюнити, в безопасных вариантах — имя и пароль snmp-пользователя.
Ну и саппорт. Даже бесплатный он различается радикально. Если я описываю проблему с Icinga на monitoringexchange.org я получаю ответ максимум через день или два — максимально полный, обстоятельный и со ссылкой на документацию, даже если в итоге причиной оказывается блуждание между трех сосен.
Разные продукты, с разными архитектурными идеями, сравнивать их один в один — и некорректно, и бесполезно
Icinga в действии. Мониторинг Большого Адронного Коллайдера в ЦЕРН, Швейцария/Франция