Я работаю с Nagios 4.0.7 на двух серверах, чтобы контролировать свою сеть. Недавно я разработал третий для большей избыточности, поэтому я начинаю читать информацию о резервировании при отказе в основном с NSCA. Есть ли у кого-нибудь хоть немного опыта в этой области, который мог бы сказать мне, какой способ сделать это наиболее эффективным и простым. Я прочитал эти слайды, которые мне уже очень помогли, но, конечно, проблема все еще заключается в синхронизации времени между мастером и подчиненными:
http://es.slideshare.net/nagiosinc/mike-weber-failover
Является ли NSCA лучшим вариантом? Отказоустойчивость, резервирование или использование обоих - лучший выбор?
Есть отличная документация по настройкам Nagions Master / Slave на http://nagios.sourceforge.net/download/contrib/documentation/misc/HighAvailability/NagiosHA_EN.pdf
В моем случае использования я использовал несколько иной подход, который, как мне показалось, проще настроить и восстановить в случае сбоя. В DC 1 есть виртуальная машина, на которой работает Nagios, которая проверяет все в DC 1 и 2. Она настроена с использованием DRBD для репликации на виртуальную машину с горячим резервом, а также на 3-е ведомое устройство в DC 2. Причина, по которой я использовал DRBD, заключается в том, что он реплицирует все блочное устройство (даже в центрах обработки данных через VPN), поэтому восстановление не составит труда. Это также сделало настройку очень простой и не требовала сложной настройки в Nagios. Есть несколько способов автоматизировать отработку отказа вышедшего из строя узла, например keepalived, corosync, heartbeat, если вы хотите полностью автоматизировать его.
В DC 2 у нас точно такая же установка, только обратная.
Моя среда не такая большая (450 серверов), поэтому эта установка хорошо зарекомендовала себя. В гораздо более крупных средах может потребоваться распределение мониторинга по узлам Nagios для достижения приемлемых целей производительности.