我在两台服务器上使用 Nagios 4.0.7 来监控我的网络。最近我开发了第三台服务器,以便拥有更多的冗余,因此我开始阅读有关故障转移冗余的信息,主要是使用 NSCA。有没有人在这方面有一点经验,可以告诉我哪种方法最有效、最简单。我读过这些幻灯片,它们已经给了我很大的帮助,但当然问题仍然是主服务器和从服务器之间的时间同步:
http://es.slideshare.net/nagiosinc/mike-weber-failover
NSCA 是最佳选择吗?故障转移、冗余还是两者结合是最佳选择?
答案1
关于 Nagions 主/从设置,有一些很棒的文档可供参考:http://nagios.sourceforge.net/download/contrib/documentation/misc/HighAvailability/NagiosHA_EN.pdf
在我的用例中,我使用了一种略有不同的方法,我发现这种方法在发生故障时更容易设置和恢复。在 DC 1 中,有一个运行 Nagios 的 VM,它检查 DC 1 和 2 中的所有内容。它使用 DRBD 设置为复制到热备用 VM 以及 DC 2 中的第三个从属。我使用 DRBD 的原因是它可以复制整个块设备(甚至通过 VPN 跨数据中心复制),因此恢复非常简单。它还使配置变得非常简单,不需要在 Nagios 中进行复杂的配置。有多种方法可以自动执行故障节点的故障转移,例如 keepalived、corosync、heartbeat(如果您希望它完全自动化)。
在 DC 2 中,我们有完全相同的设置,只是相反。
我的环境不是很大(450 台服务器),所以这个设置运行良好。在更大的环境中,可能需要将监控分布在 Nagios 节点上才能达到可接受的性能目标。