mysql报警脚本_MySQLServer报警脚本

MySQL Server 邮件报警

实现方法:

根据系统的load和session来度量系统现在是否负载过高,如果发现负载过高就邮件报警(当然也可以短线报警),把系统当前状态、运行的慢sql、锁状态以HTML邮件报警,

还可以携带附件。

基本用法:

[root@skatedb66 tmp]# ./dbmysqlalarm --help

usage: Alarm Mysql server performance v0.1 ,(C) Copyright Skate 2014

[-h] --dhost DHOST --duser DUSER --dpasswd DPASSWD --dport DPORT

--dname DNAME --mail MAIL --mhost MHOST --muser MUSER --mpasswd MPASSWD

--msubject MSUBJECT --mconfig MCONFIG --mkey MKEY --mfield MFIELD

--attach ATTACH --dload DLOAD --dsession DSESSION

optional arguments:

-h, --help show this help message and exit

--dhost DHOST = Monitored database ip address

--duser DUSER = Monitored database user

--dpasswd DPASSWD = Monitored database password

--dport DPORT = Monitored database port

--dname DNAME = Monitored database name

--mail MAIL = Monitored database name

--mhost MHOST = Mail server host address

--muser MUSER = Mailbox username

--mpasswd MPASSWD = Mailbox password

--msubject MSUBJECT = Mail subject

--mconfig MCONFIG = Mail recipient configuration file

--mkey MKEY = The key that mail recipient configuration file

--mfield MFIELD = The field that mail recipient configuration file

--attach ATTACH = Email attachment

--dload DLOAD = Alarm threshold load

--dsession DSESSION = Alarm threshold session of database

例子:

# ./dbmysqlalarm

--mconfig=/tmp/dist/list

--muser=dba

--mpasswd=pass

--mhost=localhost

--msubject='Real-time Snapshot of Database'

--attach='/tmp/dist/list'

--dhost=127.0.0.1

--dpasswd=passwd

--dport=3306

--dname=mysql

--mkey=dba

--mfield=email

--mail=dba@skate.com

--dload=0

--dsession=0

参数说明

--mconfig=/tmp/dist/list ///指定配置文件的路径,如果有配置中心的话,完全可以不用配置文件,参考:https://blog.csdn.net/wyzxg/article/details/41972683

--muser=dba ///邮箱的用户名

--mpasswd=passwd ///邮箱的密码

--mhost=localhost ///邮件服务器的地址,如果用本机发邮件,请指定localhost

--msubject='Real-time Snapshot of Database' /// 邮件的标题

--attach='/tmp/dist/list' ///附件的路径名

--dhost=127.0.0.1 ///数据库的IP地址

--duser=root ///数据库的用户名

--dpasswd=passwd ///数据库的密码

--dport=3306 ///数据库的端口号

--dname=mysql ///连接的数据库名,不对数据库做任何操作,这里指定mysql,当然你也可以创建个test库

--mkey=dba ///配置文件的key

--mfield=email ///配置文件的field

--mail=dba@skate.com ///指定的发送邮件的邮箱地址

--dload=0 ///触发报警的load阀值

--dsession=0 ///触发报警的数据库session数量

注意,首先用mysql -u -p -h -P 测试是否可以连接数据库

配置文件格式

# more list

[command]

mysqlmon=/tmp/dist/mysqlmon

[phone]

dba:135******;135********;123*********

skate:138*******

[email]

dba:skate1@skate.com;skate2@skate.com;skate3@skate.com

skate:skate@skate.com

部署方法

直接解压缩下载文件,然后把解压后的文件mysqlmon的绝对路径更新到配置文件即可。

# tar -zxvf dbalarm.tar.gz

支持版本:因为这里引用了"anysql"大侠的mysqlmon,经我测试发现mysqlmon目前在centos6下支持5.5.29以上的mysql(和anysql确认,是因为他用5.6客户端编译引起这个问题的).。anysql大哥的工具非常好用,大家也可以适用下。

来张报警邮件的图片:

119651_0.jpg

------end-----

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值