这里主要说下,监控mysql 服务并发送邮件的一个栗子,主要内容包括:
- 邮件发送
- 简单的监控脚本
先说下我这里的环境:ubuntu 16.04 LTS ,在ubuntu 下发送邮件是需要安装发送邮件的软件的,而在centos 下是不需要的(亲测 centos os 7.4)。这里以ubuntu 为例说下在Ubuntu 下如何发送邮件。
先安装软件
然后打开/etc/s-nail.rc 文件,在行末编辑进行配置:
说明:
from: 对方收到邮件时显示的发件人
smtp: 指定第三方发送邮件的smtp服务器地址
smtp-auth: SMTP的认证方式。默认是LOGIN,也可改为CRAM-MD5或PLAIN方式
smtp-auth-user: 第三方发邮件的用户名
smtp-auth-password: 用户名对应密码
测试邮件发送
-s 选项指定主题
< success.txt 指从success.txt 文件中读取要发送的内容
OK,到这里表示邮件发送成功!
判断mysql 有没有跪的方式有好几种,这里说下:”模拟web 服务器,通过mysql 账户连接mysql ,然后根据返回命令状态或返回内容确认mysql 是否正常 “ ,这种方式来判断mysql 是否跪了。
在写具体的脚本之前,先看下命令及执行结果:


OK,基于这个思路:执行成功,$? 是0 ,否则非0 ,来编写shell 监控脚本。
这里先直接上已撸好的shell

比较简单,先用账号密码连接mysql ,然后执行语句。如果返回值0 表示OK,什么都不做,非0 发邮件通知mysql 服务异常,
然后尝试重启mysql 服务,5秒过后再用账号密码连接执行语句,看返回值,为0 发送成功邮件,否则发送失败邮件。
OK,下面测试脚本:
先停止mysql 服务:
使用service mysql status 命令可以查看mysql 服务状态
执行脚本,发现不仅收到了邮件,而且mysql 服务正常重启OK。

注: 这里执行脚本务必要以root 账号来操作,因为其它账号执行service mysql restart 操作可能需要要求输入密码。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/206352.html