??MySQL Server 报警脚本

Author:Skate

Time:2014/12/30

MySQL Server 邮件报警

下载地址:http://download.csdn.net/detail/wyzxg/8314745

实现方法:

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

还可以携带附件。

基本用法:

[[email protected] 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 \

[email protected] \

--dload=0 \

--dsession=0

参数说明

--mconfig=/tmp/dist/list                       ///指定配置文件的路径,如果有配置中心的话,完全可以不用配置文件,参考:http://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

[email protected]       ///指定的发送邮件的邮箱地址

--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:[email protected];[email protected];[email protected]

skate:[email protected]

部署方法

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

# tar -zxvf dbalarm.tar.gz

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

来张报警邮件的图片:

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

时间: 2024-10-15 02:58:45

??MySQL Server 报警脚本的相关文章

MySQL Tools 之 mysql.server 脚本运用

MySQL distributions on Unix and Unix-like system include a script named mysql.server, which starts the MySQL server using mysqld_safe. It can be used on systems such as Linux and Solaris that use System V-style run directories to start and stop syste

Linux下MySQL server和client安装

一.安装方法 安装MySQL主要有两种方法:一种是通过源代码进行编译安装,适合高级用户自己定制MySQL的特性:另一种比较简单的是使用已经编译过的二进制文件进行安装.二进制文件安装又分为不针对特定平台的通用安装方法,即.tar.gz压缩文件:另一种是使用RPM或其他包进行安装,这种方式会自动完成系统的相关配置.本次记录使用.tar.gz文件安装过程. 二.下载文件 mysql-5.5.45-linux2.6-x86_64.tar.gz(附件中有) http://dev.mysql.com/dow

Ubuntu Server下MySql数据库备份脚本代码

明: 我这里要把MySql数据库存放目录/var/lib/mysql下面的pw85数据库备份到/home/mysql_data里面,并且保存为mysqldata_bak_2012_04_11.tar.gz的压缩文件格式(2012_04_11是指备份执行时当天的日期), 最后只保留最近7天的备份. 实现步骤: 1.创建保存备份文件的目录:/home/mysql_datacd /home #进入目录mkdir mysql_data #创建目录2.创建备份脚本文件:/home/mysql_data/m

mysqldump导出报错"mysqldump: Error 2013: Lost connection to MySQL server during query when dumping table `file_storage` at row: 29"

今天mysql备份的crontab自动运行的时候,出现了报警,报警内容如下 mysqldump: Error 2013: Lost connection to MySQL server during query when dumping table `file_storage` at row: 29 mysqldump: Couldn't execute 'show table status like 'property'': MySQL server has gone away (2006)

zabbix监控mysql以及报警(二)终

Zabbix部署 监控数据库 报警服务(二) 终 接着zabbix(一)接着部署 配置过一段时间后,观察下监控图效果出来了没 zabbix3.0 server已自带mysql的模板了,只需配置好agent客户端,然后在web端给主机增加模板就行了. Zabbix_agent客户端操作(1)首先在客户端的mysql里添加权限,即本机使用zabbix账号连接本地的mysql mysql> grant all on *.* to [email protected]'localhost' identif

MySql定时备份脚本

今天数据库有挂了,真心伤不起!又花了一下午时间学习写了一个定时保存数据的脚本文件,所以记录一下! 1,每天4点备份mysql数据: 2,为节省空间,删除超过3个月的所有备份数据: 3,删除超过7天的备份数据,保留3个月里的 10号 20号 30号的备份数据: [[email protected] ~]# cd data [[email protected] ~]# cd /data/dbdata [[email protected] dbdata]# vim backup_mysq.sh #输入

连接mysql报错:error 2003 (hy000):can't connect to mysql server on 'localhost' (10061)

一.mysql 的bin目录下有个MySQLInstanceConfig.exe,运行就可以进行创建数据库实例,创建实例时也可以生成windows 服务,把服务设置成自动启动就可以了 二.安装在D盘的discuzz!打开后出现上述错误,请问应如何处理?winmysqladmin已经启动,但三色树上有一个小红点如果出现"ERROR 2003: Can't connect to MySQL server on 'localhost' (10061)",说明你的MySQL还没有启动.解决办法

MySQL报错:ERROR 2013 (HY000): Lost connection to MySQL server during query

首先贴上实验用各版本: OS:CentOS 6.5 MySQL: mysql> select version ();+------------+| version () |+------------+| 5.6.22     |+------------+1 row in set (0.00 sec) 事情是这样的:本来是要在虚机上搭建一个wordpress做实验,刚创建完数据库,就在赋权额时候发生不在计划的错误: mysql>grant all on wordpress.* to [emai

mysql server has gone away的原因

之前遇到开发询问"mysql server has gone away"的问题,想当然的就认为是由于太长时间没有操作,导致超过MySQL服务端上的wait_timeout的设置,最终连接被MySQL服务端回收了. 最近一次突然自己同事写的脚本在运行过程中被中断了,查看报错信息依然是"mysql server has gone away",同事的脚本在多个MySQL实例上根据时间范围取值,虽然执行时间长了点,但是绝对不会有超过wati_timeout的空闲等待时间,于