keepalive是为LVS量身定做的高可用解决方案,如果想用keepalived 监控其它服务 做到高可用怎么办呢?
加上以下配置即可
vrrp_script check_salt {
script "/etc/keepalived/check_salt.sh"
interval 3
weight -20
}
vrrp_scrip :此字段是新增字段,主要是自定义keepalived脚本
check_salt: 自定义vrrp_script 名称 ,用于track_script字段引用
script "/etc/keepalived/check_salt.sh" :脚本路径,此脚本的作用就是检测我们检测的服务的存活状态
interval 3:每间隔3秒执行依次脚本
weight -20: 当脚本的返回值为非0 时,keepalived master的权重就会-20, 当master没有backup权重高的时候, vip就会自动切换到backup 并启动
然后在实例中调用我们定义的脚本即可
track_script { #调用我们定义的脚本
check_salt
}
脚本内容
[root@node2 keepalived]# cat check_salt.sh
#!/bin/bash
systemctl status salt-master &> /dev/null && exit 0 || exit 2