Nagios Core Master-Slave部署高可用方案咨询:主节点故障需持续监控
Nagios 主节点故障时保持持续监控的部署方案
其实Nagios核心本身并没有原生的Master-Slave部署模式,但咱们可以通过几种变通的架构来实现主节点故障时监控不中断的需求,下面给你梳理几个常用思路:
1. 被动监控+双节点冗余架构
这种方案的核心是让被监控端主动向多个Nagios节点上报监控数据,而非依赖主节点主动拉取:
- 部署两个独立的Nagios实例(主、备节点),两者配置完全一致的监控对象和规则
- 在所有被监控端安装
send_nsca工具,配置它同时向主、备两个节点发送监控检查结果(基于NSCA协议) - 日常主要通过主节点查看监控、接收告警;主节点故障时,可直接切换到备节点查看完整监控数据,也可以给两个节点配置共享VIP,通过VIP访问监控界面,故障时手动/自动切换VIP到备节点
这个方案架构简单,无需复杂的集群同步,缺点是两个节点的监控状态可能存在细微延迟,可通过配置告警抑制避免重复告警。
2. Active-Passive 集群方案(基于Pacemaker/Corosync)
如果需要自动故障切换,可以借助集群资源管理器搭建高可用集群:
- 用Corosync做集群通信层,Pacemaker做资源管理器,将Nagios服务配置为集群内的可迁移资源
- 配置共享存储(比如NFS、DRBD)同步两个节点的Nagios配置文件、监控状态文件、日志等关键数据,确保主备节点配置完全一致
- 主节点故障时,Pacemaker会自动将Nagios服务和VIP切换到备节点,实现无感知故障转移
- 注意:要确保共享存储的读写权限配置正确,避免节点切换后出现权限问题,也可以用
rsync定期同步配置文件做补充保障
3. 分布式监控扩展方案
如果你的监控规模较大,也可以考虑基于Nagios的分布式监控系统,比如Centreon:
- Centreon是基于Nagios的开源分布式监控平台,原生支持多监控节点架构,每个节点可独立处理部分监控任务
- 主节点负责全局配置和告警汇总,主节点故障时,各个从节点仍能独立运行,继续监控各自负责的对象,仅暂时无法汇总全局告警
- 这种方案适合大规模监控场景,扩展性更强,故障影响范围也更小
内容的提问来源于stack exchange,提问作者user2629839
相关产品推荐
相关产品推荐

