《Linux系列》Linux实现MySQL主从监控,邮件告警

22 篇文章 3 订阅

Linux实现MySQL主从监控,邮件告警

一、配置mail

1.邮件发送原理

在这里插入图片描述

  • MUA:Mail User Agent,邮件用户代理,用来编写,收发邮件
  • MTA:Mail Transfer Agent,邮件传输代理,将邮件传输到正确目的地
  • MDA:Mail Delivery Agent,邮件分发代理,将邮件分发到正确目的用户

2.安装mail,sendmail

mail 命令是 Linux 终端发送邮件用的最多的命令。

mailx 是 mail 命令的更新版本,基于 Berkeley Mail 8.1,意在提供 POSIX mailx 命令的功能,并支持 MIME、IMAP、POP3、SMTP 和 S/MIME 扩展。mailx 在某些交互特性上更加强大,如缓冲邮件消息、垃圾邮件评分和过滤等。在 Linux 发行版上,mail命令是 mailx 命令的软链接。

mail是mailx的别名,mail是MUA,sendmail是MTA

# 1.安装mailx
[root@zxy mysql]# yum -y install mailx
# 2.安装sendmail
[root@zxy mysql]# yum -y install sendmail

3.配置mail

# 1.mail配置文件路径,/etc/mail.rc
[root@zxy data]# cd /etc/
# 2.先备份下之前的mail.rc
[root@zxy etc]# mv mail.rc mail.rc_bak
# 3.重新创建mail.rc文件
[root@zxy etc]# vim mail.rc
# 4.mail.rc内容
set smtp=smtps://mail.[企业邮箱]:465
set smtp-auth-user=[发件人]@[企业邮箱]
set smtp-auth-password=[密码]
set smtp-auth=login
set ssl-verify=ignore
set nss-config-dir=/etc/pki/nssdb
set from=[发件人]@[企业邮箱]

二、配置脚本监控MySQL主从

# 1.计划将脚本放在data/mysqlmailalert/mysqlalert.sh
[root@zxy etc]# cd /data
# 2.创建目录
[root@zxy data]# mkdir mysqlmailalert
# 3.编写脚本
[root@zxy mysqlmailalert]# vim mysqlalert.sh
# 4.脚本内容
#!/bin/bash

mysql -u root -p'123456' -e "SHOW SLAVE STATUS\G" | egrep '(Slave_IO_Running|Slave_SQL_Running)' | while read line
do
    if [[ $line == *'No'* ]]; then
        echo "MySQL replication is not running: $line" | mail -s "MySQL Replication Alert" [收件人]@[企业邮箱]
        break
    fi
done

#5.给脚本添加执行权限
[root@zxy mysqlmailalert]# chmod +x mysqlalert.sh
#6.手动执行脚本,会提示证书问题,不影响邮件发送和接收
[root@zxy mysqlmailalert]# ./mysqlalert.sh
[root@zxy mysqlmailalert]# Error in certificate: Peer's certificate has expired.
host certificate does not match "mail.[企业邮箱]"

在这里插入图片描述

三、配置定时任务

# 1.计划每天的9点和15点检查下MySQL主从清库
> 0 9,15 * * * /data/mysqlmailalert/mysqlalert.sh
# 2.编写定时任务
[root@zxy mysqlmailalert]# crontab -e
no crontab for root - using an empty one
crontab: installing new crontab
# 3.查看定时任务
[root@zxy mysqlmailalert]# crontab -l
0 9,15 * * * /data/mysqlmailalert/mysqlalert.sh
  • 6
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

DATA数据猿

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

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

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

打赏作者

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

抵扣说明:

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

余额充值