Привет,
Я хотел бы спросить мнение и мнение коллектива о распределенных системах мониторинга, что вы используете и что вы знаете о том, что может пометить мои флажки?
Требования довольно сложны;
Нет единой точки отказа. В самом деле. Я очень серьезно! Необходимо иметь возможность терпеть отказ одного / нескольких узлов, как «главного», так и «рабочего», и вы можете предположить, что ни в одном месте мониторинга («узле») нет нескольких узлов или они находятся в одной сети. Поэтому это, вероятно, исключает традиционные методы HA, такие как DRBD или Keepalive.
Распределенная логика, я хотел бы развернуть более 5 узлов в нескольких сетях, в нескольких центрах обработки данных и на нескольких континентах. Я хочу, чтобы «птичий глаз» смотрел на мою сеть и приложения с точки зрения моих клиентов, чтобы бонусные баллы за логику мониторинга не застряли, когда у вас более 50 узлов или даже более 500 узлов.
Требуется уметь обрабатывать довольно разумное количество проверок хоста / сервиса, например, Nagios, для приблизительных показателей - 1500-2500 хостов и 30 сервисов на хост. Было бы неплохо, если бы добавление большего количества узлов мониторинга позволило бы вам масштабироваться относительно линейно, возможно, через 5 лет я мог бы отслеживать 5000 хостов и 40 сервисов на хост! В дополнение к моей заметке о «распределенной логике» было бы неплохо сказать:
- В обычных обстоятельствах эти проверки должны выполняться на $ n или n% узлов мониторинга.
- Если обнаружен сбой, запустите проверки на других $ n или n% узлов, сопоставьте результаты и затем используйте их, чтобы решить, были ли выполнены критерии для выдачи предупреждения.
Графики и управление дружественными функциями. Нам нужно отслеживать наши SLA, и знание того, работают ли наши «высокодоступные» приложения 24x7, является несколько полезным. В идеале предлагаемое решение должно создавать отчеты "из коробки" с минимальными ошибками.
Должен иметь надежную систему API или плагинов для разработки индивидуальных проверок.
Нужно быть осторожным с оповещениями. Я не хочу обязательно знать (через SMS, в 3 часа ночи!), Что один узел мониторинга считает, что мой основной маршрутизатор не работает. Я действительно хочу знать, согласен ли определенный процент из них , что происходит что-то напуганное;) По сути, я говорю здесь о логике «кворума» или применении здравомыслия к распределенному безумию!
Я готов рассмотреть как коммерческие варианты, так и варианты с открытым исходным кодом, хотя я бы предпочел держаться подальше от программного обеспечения, стоившего миллионы фунтов стерлингов :-) Я также готов согласиться, что не может быть ничего, что помечало бы все эти рамки, но хотел спросить у коллектива, что.
Размышляя об отслеживании узлов и их размещении, имейте в виду, что большинство из них будут выделенными серверами в сетях случайных интернет-провайдеров и, таким образом, в значительной степени вне моей сферы контроля. Решения, основанные на каналах BGP и других сложных сетевых выходках, скорее всего, не подойдут.
Я также должен отметить, что в прошлом я оценивал, развертывал или интенсивно использовал / настраивал большинство разновидностей с открытым исходным кодом, включая Nagios, Zabbix и друзей - они действительно неплохие инструменты, но в целом они не работают ». распределенный аспект, особенно в отношении логики, обсуждаемой в моем вопросе, и «интеллектуальных» предупреждений.
Рады уточнить любые необходимые вопросы. Ура ребята и девчонки :-)
источник
Ответы:
не ответ на самом деле, но некоторые указатели:
Обязательно посмотрите презентацию о nagios @ goldman sachs . они столкнулись с проблемами, о которых вы упомянули - избыточность, масштабируемость: тысячи хостов, а также автоматическое создание конфигурации.
у меня была избыточная установка nagios, но в гораздо меньшем масштабе - 80 серверов, всего ~ 1 тыс. сервисов. один выделенный ведущий сервер, один подчиненный сервер, который получает конфигурацию с главного устройства через равные промежутки времени несколько раз в день. оба сервера контролировали одни и те же машины, у них была перекрестная проверка работоспособности между собой. я использовал nagios главным образом в качестве среды для вызова пользовательских проверок, специфичных для продукта [куча заданий cron, выполняющих сценарии, выполняющие «искусственное управление потоком», результаты регистрируются в sql, модуль подключаемых модулей nrpe проверяет их успешное / неудачное выполнение за последние x минут]. все работало очень хорошо.
ваша логика кворума звучит хорошо - немного похоже на мои «искусственные потоки» - в основном продолжайте, воплощайте себя; -]. и имейте nrpe, просто проверьте какой-нибудь флаг [или sql db с timestamp-status], как дела.
Вы, вероятно, захотите построить некоторую иерархию для масштабирования - у вас будут некоторые узлы, которые собирают обзор других узлов, посмотрите на презентацию с первой точки. разветвление nagios по умолчанию для каждой отдельной проверки является избыточным при большем количестве отслеживаемых сервисов.
ответить на несколько вопросов:
источник
То, что вы просите, звучит очень похоже на то, что Shinken сделал для Nagios.
Shinken - это перезапись Nagios.
Это должно быть пищей для размышлений.
ура
источник