首页 > 其他分享 >Keepalived 通知脚本配置

Keepalived 通知脚本配置

时间:2024-08-12 20:23:06浏览次数:13  
标签:脚本 QQ Keepalived 通知 keepalived etc notify 邮箱 mail

当keepalived的状态变化时,可以自动触发脚本的执行,比如:发邮件通知用户

默认以用户keepalived_script身份执行脚本

如果此用户不存在,以root执行脚本可以用下面指令指定脚本执行用户的身份

global_defs {

     ......

     script_user <USER>

      ......

}

一、通知脚本类型

当前节点成为主节点时触发的脚本

notify_master <STRING> | <QUOTED-STRING>

当前节点转为备节点时触发的脚本

notify_backup <STRING> | <QUOTED-STRING>

当前节点转为“失败”状态时触发的脚本

notify_fault <STRING> | <QUOTED-STRING>

通用格式的通知触发机制,一个脚本可完成以上三种状态的转换时的通知

notify <STRING> | <QUOTED-STRING>

当停止VRRP时触发的脚本

notify <STRING> | <QUOTED-STRING>

 二、邮件配置

1、安装邮件发送工具

[root@ka1 ~]# yum install mailx -y

2、QQ邮箱配置 

vim /etc/mail.rc

set from=QQ邮箱

set smtp=smtp.qq.com        #发送邮箱服务器

set smtp-auth-user=QQ邮箱

set smtp-auth-password=QQ邮箱授权码

set smtp-auth=login

set ssl-verify=ignore

IMAP/SMTP 设置方法

用户名/帐户: 你的QQ邮箱完整的地址

密码: 生成的授权码

电子邮件地址: 你的QQ邮箱的完整邮件地址

接收邮件服务器: imap.qq.com,使用SSL,端口号993

发送邮件服务器: smtp.qq.com,使用SSL,端口号465或587

POP3/SMTP 设置方法

用户名/帐户: 你的QQ邮箱完整的地址

密码: 生成的授权码

电子邮件地址: 你的QQ邮箱的完整邮件地址

接收邮件服务器: pop.qq.com,使用SSL,端口号995

发送邮件服务器: smtp.qq.com,使用SSL,端口号465或587

 QQ邮箱生成授权码:

3、在 vrrp_instance VI_1 语句块的末尾以下内容

vim /etc/keepalived/keepalived.conf

notify_master "/etc/keepalived/notify.sh master"

notify_backup "/etc/keepalived/notify.sh backup"

notify_fault "/etc/keepalived/notify.sh fault"

 重启服务:

systemctl restart keepalived.service

4、发送测试邮箱

[root@ka1 ~]# echo test message |mail -s test QQ邮箱

三、实现Keepalived 状态转化的通知脚本

1、keepalived节点ka1、ka2脚本配置:

vim /etc/keepalived/mail.sh

#!/bin/bash
mail_dest='QQ邮箱@qq.com'
mail_send()
{
   mail_subj="$HOSTNAME to be $1 vip 转移"
   mail_mess="`date +%F\ %T`: vrrp 转移,$HOSTNAME 变为 $1"
   echo "$mail_mess" | mail -s "$mail_subj" $mail_dest
}
case $1 in
   master)
   mail_send master
   ;;
   backup)
   mail_send backup
   ;;
   fault)
   mail_send fault
   ;;
   *)
   exit 1
   ;;
esac

给脚本执行权限:

chmod +x /etc/keepalived/mail.sh

2、ka1、ka2编辑keepalived.conf配置文件

[root@ka1 ~]# vim /etc/keepalived/keepalived.conf 

 [root@ka2 ~]# vim /etc/keepalived/keepalived.conf

3、在ka1、ka2设置好QQ邮箱配置

vim /etc/mail.rc

4、测试结果

 1、先重启ka1的服务

2、再重启ka2的服务

因为ka1的优先级要比ka2高,所以ka2还是变成backup。

3、再关闭ka1的服务

4、再关闭ka2的服务,然后重启ka2

5、再重启ka1

标签:脚本,QQ,Keepalived,通知,keepalived,etc,notify,邮箱,mail
From: https://blog.csdn.net/weixin_63657273/article/details/141137878

相关文章

  • LVS+Keepalived群集
    目录keepalived的热备方式keepalived的安装与服务一、使用Keepalived双机实现热备案例1:主服务器配置2:备用服务器的配置3:测试虚拟ip的连通性二、LVS+Keepalived高可用性1:主调度器配置健康状态检查的方式2:从调度器配置3:服务器池配置(1)web1网络的配置(2)web2服务器配置......
  • 在 Spring Boot 中使用工厂模式实现灵活的通知服务
    在现代软件开发中,特别是在构建可扩展和易于维护的应用程序时,设计模式扮演着至关重要的角色。其中之一是工厂模式,它允许我们在运行时根据特定条件创建对象,而无需硬编码具体的类名。本篇文章将通过一个具体例子来展示如何在SpringBoot项目中使用工厂模式来实现一个灵活的通知服......
  • 通过Shell脚本创建指定ip上的MySQL非系统库的所有表的表结构
    dbaloginSource='/data/dba/mysql8/bin/mysql-uroot_dba-ppassword-hxxx'dbaloginTarget='mysql-h127.0.0.1-P3340-uroot-proot'#showdatabases过滤出数据库名dbs=`$dbaloginSource-e"showdatabases\G"2>/dev/null|grep......
  • 车载网络测试实操源码_使用CAPL脚本对CAN总线上的错误帧进行实时监控
    系列文章目录车载网络测试实操源码_使用CAPL脚本解析hex、S19、vbf文件车载网络测试实操源码_使用CAPL脚本对CAN报文的Counter、CRC、周期、错误帧进行实时监控车载网络测试实操源码_使用CAPL脚本模拟发送符合协议要求(Counter和CRC)的CAN报文车载网络测试实操源码_使用......
  • BUUCTF 81题吹着贝斯的二维码详解(包含各类工具和python脚本)
    在网上看了很多类似解题步骤和说明,感觉对小白都不友好,于是决定搜集整理下,做个详尽的解题步骤:压缩包解压得到36个无后缀名文件和一个flag.zip压缩包再看压缩包,解压发现有压缩密码,用winhex查看是不是伪加密,在末尾发现一串可疑字符串,拷贝下来留用:GNATOMJVIQZUKNJXGRCTGNRTG......
  • 黄牛杀手 抢票脚本 V3.0
    黄牛杀手抢票脚本V3.0介绍现在黄牛太tm多了,根本抢不到票为了解决这个问题,开发了这个脚本,支持大麦网,淘票票、缤玩岛等多个平台依赖selenium(4.10.0以下版本)pipinstallselenium=======现在黄牛太tm多了,根本抢不到票为了解决这个问题,开发了这个脚本,支持大麦网,淘票......
  • Unity脚本生命周期
    生命周期函数的概念所有继承MonoBehavior的脚本,最终都会挂在到GameObject游戏对象上生命周期函数,就是该脚本对象依附的GameObject对象从出生到消亡整个生命周期中会通过反射自动调用一些特殊函数Unity帮助我们记录了一个GameObject对象依附了哪些脚本会自动的得到这些对象,通......
  • C#动态编辑代码脚本
    C#动态编辑代码脚本一、CSharpCodeProvider提供对C#代码生成器和代码编译器的实例的访问。如果要动态生成VB代码,可以使用VBCodeProvider。CreateCompiler():获取编译器的实例。二、ICodeCompiler定义用于调用源代码编译的接口或使用指定编译器......
  • Nginx日志切分脚本
    因为学习初期都是习惯自己去解决问题没有使用工具切分日志,所以当时写了一个根据天数日志切分脚本,现在记录下。LOG_FILE="/data/log/nginx/filter.access1.log"PROCESSED_LOG_FILE="/data/log/nginx/filter.access.log"month=$(LC_ALL=Cdate"+%b")year=$(date"+%Y")......
  • freertos学习笔记(十一)直接任务通知
    直接任务通知起源队列和信号量是实时操作系统的典型功能,而FreeRTOS提供的直接任务通知比队列和信号量更小且速度更快(快45%)开发人员应优先使用量身定制的功能:直接任务通知、消息缓冲区和流缓冲区。大多数应用程序中,使用队列和信号量等综合功能可能是例外而不是常态实现......