1、 主备服务器信息

主服务器是windows,备服务器是Linux,需求是当zabbix监控的主服务器上的Tomcat停止了,则切换到Linux的Tomcat,保证业务的正常访问。

主服务器(windows)

备服务器(linux)

程序启动目录\命令

10.172.200.155

10.173.220.85

主:D:\apache-tomcat-7.0.103\bin\startup.bat

备:service tomcat7 start

10.172.200.156

10.10.220.37
主:C:\software\apache-tomcat-7.0.92\bin\startup.bat
备:service tomcat7 start
在监控平台上做相应的告警动作通知和远程启动备机服务器程序的命令,当检测到问题时由监控系统完成切换程序动作。
实现过程说明:
1、监控到主服务器的Tomcat或者操作系统死了,发出警告预警
2、启动备机的Tomcat
3、待监控到主服务器Tomcat恢复了,发出通知已经恢复
4、人员检查确认恢复,手动关闭备机Tomcat

主备服务器宕机告警和Tomcat停止运行通知动作:
Zabbix远程命令-Tomcat主备切换案例

2、告警发送及远程启动程序命令:

以下为 156-中间件备服务器的远程命令操作示例,其余通知动作操作类似:

在 配置 -- 动作— 点击156-tomcat-告警,
Zabbix远程命令-Tomcat主备切换案例
Zabbix远程命令-Tomcat主备切换案例
Zabbix远程命令-Tomcat主备切换案例

当检查到主服务器的程序正常运行时,发送恢复通知内容,提醒管理员手动切换程序。
Zabbix远程命令-Tomcat主备切换案例
Zabbix远程命令-Tomcat主备切换案例

3、远程执行命令:

由采集服务器通过SSH远程方式登录到agent端,发送命令框里面设定的命令行,执行相应的操作,
Zabbix远程命令-Tomcat主备切换案例

判断主机宕机:通过结合使用agent客户端 + ICMP方式,先判断agent客户端在一定时间范围内没有采集到数据,且主机IP不能被采集服务器Ping通,则判断主机宕机。
Zabbix远程命令-Tomcat主备切换案例

判断Tomcat程序在设定的时间范围内没有采集到数据且远程访问的8080端口不通,则判定程序停止运行,触发第2步的告警动作和远程启动备机程序命令。

为免因为网络问题发生误告警误触发远程命令现象,建议把触发器的时间改为2分钟到5分钟内,例如,监控项的更新间隔为60s,触发器就设置为检查2次,2次都没有检查到数据,则发送告警通知并执行远程命令。