0
点赞
收藏
分享

微信扫一扫

keepalived 监控 nginx 《二》

殇感故事 2022-03-14 阅读 56

keepalived 监控 nginx 配合


制作nginx监控脚本

1、编辑nginx 监控脚本

vim /etc/keepalived/check_ng.sh


加入如下:

#!/bin/bash

#时间变量,用于记录日志

d=`date --date today +%Y%m%d_%H:%M:%S`

#计算nginx进程数量

n=`ps -C nginx --no-heading|wc -l`

#如果进程为0,则启动nginx,并且再次检测nginx进程数量,

#如果还为0,说明nginx无法启动,此时需要关闭keepalived

if [ $n -eq "0" ]; then

systemctl start nginx

n2=`ps -C nginx --no-heading|wc -l`

if [ $n2 -eq "0" ]; then

echo "$d nginx down,keepalived will stop" >> /var/log/check_ng.log

systemctl stop keepalived

fi

fi


保存 退出


2. 给脚本755权限

chmod 755 /etc/keepalived/check_ng.sh

3.配置keepalived定时监听nginx

vim /etc/keepalived/keepalived.conf  


如下是配置监听 红色字体

! Configuration File for keepalived


global_defs {

#路由ID当前安装节点主机的标识符,全局唯一

  router_id keep_151

}

#这里的check_nginx和下面的track_script一样

vrrp_script check_nginx {

#设置脚本的位置

 script "/etc/keepalived/check_ng.sh"

#设置每隔两秒运行脚本

        interval 2

 weight 10

#如果脚本运行成功  则升级权重+10

#weight -10 如果脚本运行失败  则降低权重-10

}


#计算机节点 vrrp的ID

vrrp_instance VI_1 {


#这个表示状态为主点MASTER 备份的为BACKUP

   state MASTER

# 当前服务器绑定的网卡 我的是虚拟机所以是ens33

   interface ens33

#虚拟路由的ID 主备节点要一致 说明在一个组里

   virtual_router_id 51

#优先级/权重  100 谁大谁高 谁是主

   priority 100

#主备之间同步检查的时间间隔,默认是1秒

   advert_int 1

#认证授权的密-码 主备节点设置的一样即可

   authentication {

       auth_type PASS

       auth_pass 1111

   }

track_script {

#追踪nginx脚本 上面定义好的

 check_nginx  

}

  virtual_ipaddress {

#你规划的 虚拟的IP我设置的是10.10.201.171

#这个IP是网络中没有的 专门给两台keeplived虚拟IP使用

#注意:不能冲突

10.10.201.171

   }

}

#其他全部删除


从启动服务

systemctl restart keepalived

举报

相关推荐

0 条评论