码迷,mamicode.com
首页 > 数据库 > 详细

zabbix监控mysql多实例和mariadb自定义脚本及其部署

时间:2015-08-17 19:52:33      阅读:768      评论:0      收藏:0      [点我收藏+]

标签:zabbix   mysql   触发器   

最近新部署zabbix监控,发现有很多DB服务器都是mysql多实例的状态,mpm默认的mysql监控无法有效的监控mysql的运行状态和复制关系,故针对双实例的mysql制作的手工的zabbix脚本监控如下

首先新建新的zabbix的mysql多实例监控模板,操作如下


技术分享

名称 为模板信息名称 

类型 因为使用的脚本出发所以修改成zabbix捉捕器

键值 脚本返回的信息,可以为数值,也可以是字元,这里定义为字元

数据类型 字元



同时也可以设置主动捕捉,如下:监控多实例端口状态

技术分享

名称 为模板信息名称 

类型 因为是master去触发,所以设置成断点代理程式(主动式)

键值 脚本返回的信息

数据类型 数字的



之后去针对相应的模板设置报警信息即 触发器

技术分享


根据脚本中获得以及master主动触发获得的状态值定义触发器,根据取值的不同变更状态,如上图,slave状态分为

0   正常

null slave复制停止

>1000   复制延迟,显示延迟时间

端口状态 0为异常报警   up为正常。



脚本内容如下

################################### 3359 ##################################

### SLAVE STATUS ###

status59=`mysql -uzabbix -pzabbix --sock ‘路径‘ -e "show slave status \G" | grep Behind | awk -F ‘:‘ ‘{print $2}‘`

if [ ${status59} = 0 ]

then

     zabbix_sender --zabbix-server zabbix-master-ip  --port 10051 --host hostname --key MySQL.3359slave-check  --value ‘0‘

else

 if [ ${status59} = null ]

 then

      zabbix_sender --zabbix-server zabbix-master-ip --port 10051 --host hostname --key MySQL.3359slave-check  --value ‘99999999‘

 else

       zabbix_sender --zabbix-server zabbix-master-ip --port 10051 --host hostname --key MySQL.3359slave-check  --value "$status59"

 fi

fi

################################### 3360 ##################################

### SLAVE STATUS ###

status60=`mysql -uzabbix -pzabbix --sock ‘路径‘ -e "show slave status \G" | grep Behind | awk -F ‘:‘ ‘{print $2}‘`

if [ ${status60} = 0 ]

then

       zabbix_sender --zabbix-server zabbix-master-ip  --port 10051 --host hostname --key MySQL.3360slave-check  --value ‘0‘

else

        if [ ${status60} = null ]

        then

               zabbix_sender --zabbix-server zabbix-master-ip  --port 10051 --host hostname --key MySQL.3360slave-check  --value ‘99999999‘

        else

              zabbix_sender --zabbix-server zabbix-master-ip  --port 10051 --host hostname --key MySQL.3360slave-check  --value "$status60"

        fi

fi







也可以监控mariadb的多源复制状态,在脚本内容中先指定set @@default_master_connection=‘name‘;之后获得单个slave的状态信息,同mysql。

本文出自 “云淡风轻” 博客,谢绝转载!

zabbix监控mysql多实例和mariadb自定义脚本及其部署

标签:zabbix   mysql   触发器   

原文地址:http://liuminkun.blog.51cto.com/10171900/1685225

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!