keepalived实现zabbix主备切换配置及脚本

zabbix_server01:keepalived.conf文件范例:

! Configuration File for keepalived

 

global_defs {                       #全局配置

                router_id znode1               #标识keepalived服务器的字符串,实现高可用时需要使用它标识节点,节点唯一

    }

 

vrrp_script zabbix_check

         {                      #定义自动检查脚本

          script "/etc/keepalived/zabbix_check.sh"    #脚本路径

          interval 2         #每两秒执行一次

          weight -15         #当检查失败后,优先级 -15

          fall 2             #连续失败两次为失败

          rise 2             #连续成功两次为成功

    }

 

vrrp_instance zabbix_server {   #定义vrrp实例。一个配置文件中可以实现多实例。但不同主机上互为master<-->backup的实例名需相同

        state MASTER                #定义为master

        interface ens192             #VIP绑定的网卡, 即接收或发送心跳通告的接口,即HA监测接口

        virtual_router_id 88        #虚拟路由标识(VRID),同一实例该数值必须相同,即master和backup中该值相同#同一网卡上的不同vrrp实例,该值必须不能相同。取值范围0-255

        priority 100                #优先级, 优先级最高的为master

        advert_int 1                #心跳信息发送和接收时间间隔,单位为秒

        authentication {            #认证方式,同一实例中这个配置必须完全一样才可通过认证。只建议使用PASS认证

        auth_type PASS

        auth_pass test.com     #最多支持8字符,超过8字符将只取前8字符

      }

 

virtual_ipaddress {         #设置的VIP。只有master节点才会设置。master出现故障后,VIP会故障转移到backup。

            10.2.1.59

        }

 

        track_script {

            zabbix_check     #调用脚本检测

        }

    }

********************

编写脚本:

大意是查看zabbix_server01是否存活,若不存活,则关闭keepalived,切换到server02端

#!/bin/bash

    # check zabbix_server01 is alived

    # author by chuan

 

    STATUS_1=`ps -C zabbix_server --no-header | wc -l`

 

    if [ $STATUS_1 -eq 0 ];then

         systemctl stop keepalived

fi

******************

zabbix_server02:keepalived.conf文件范例:

 global_defs {
       router_id znode2                  #标识keepalived服务器的字符串,实现高可用时需要使用它标识节点,节点唯一
    }

    vrrp_script check_zabbix_server {
        script "/etc/keepalived/check_zabbix_server.sh"
        interval 2
        weight -15
        fall 2
        rise 2
    }

    vrrp_instance zabbix_server {
        state BACKUP
        interface ens192
        virtual_router_id 88                    #虚拟路由标识(VRID),同一实例该数值必须相同,即与master一致
        priority 90                                             #优先级为90,当master正常运行时,优先级为100,当master上的zabbix挂了,脚本检查不通过,优先级会减去15,变为85,此时backup优先级高于master,VIP会漂移到backup上
        advert_int 1
        authentication {
            auth_type PASS
            auth_pass test.com
        }

        virtual_ipaddress {
            10.2.1.59
        }

        track_script {
            check_zabbix_server
        }
    }
**********

脚本

#check zabbix_server is alived
# author by chuan

    STATUS_1=`ps -C zabbix_server --no-header | wc -l`

    if [ $STATUS_1 -eq 39 ];then

        systemctl restart zabbix_server

    fi
注释:39为zabbix_server进程号;根据实际情况查看

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

启橙小屋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值