为了账号安全,请及时绑定邮箱和手机立即绑定

Zabbix监控mysql(bash版)

标签:
MySQL


   大家都知道,zabbix自定义key的功能十分方便,监控任意值都是特别的方便,安装好了之后,如果你需要监控mysql,用默认的模板是无法工作的,因为没有key的存在,所以要自己写一个脚本去实现key。当然也可以用https://www.zabbix.com/wiki/howto/monitor/db/mysql/extensive_mysql_monitoring_including_replication这里的php脚本,如果想监控主从同步状态,原理相同,此处不写了。

   脚本可以用任意语言写,但是在linux下,还是shell最方便,用php,需要安装php环境,用python,需要安装python-MySQL库,用perl也是如此,所以选择了bash。bash脚本提供了用户名密码主机在web界面配置的功能,这里不写了,有问题的可以留言。

   脚本位置zabbix-agent,脚本,配置文件ok后重启服务,web上面添加对应主机mysql模板(自带)

shell#cat /etc/zabbix/scripts/monitor_mysql

#!/bin/bash

#author:itnihao

#mail:itnihao@qq.com

#date 2013-12-18

#version v1.0

#function:use zabbix monitor mysql status

mysql=$(which mysql)

#注意,如果你的mysql是非标准安装,请写mysql的绝对路径

#mysql=/usr/bin/mysql

var=$1

MYSQL_USER=$2

MYSQL_PASSWORD=$3

MYSQL_Host=$4

[ "${MYSQL_USER}"     = '' ] &&  MYSQL_USER=zabbix

[ "${MYSQL_PASSWORD}" = '' ] &&  MYSQL_PASSWORD=zabbix

[ "${MYSQL_Host}"     = '' ] &&  MYSQL_Host=localhost

[ "${var}" = '' ] && echo ""||${mysql} -u${MYSQL_USER} -p${MYSQL_PASSWORD} -h${MYSQL_Host} -e 'show status'|grep -v Variable_name|grep "\b${var}\b"|awk '{print $2}'

shell#egrep -v "(^#|^$)" /etc/zabbix/zabbix_agentd.conf

#Server=这个参数,这里不详细的写了,主要改以下的参数

Include=/etc/zabbix/zabbix_agentd.conf.d/   #配置文件路径

UnsafeUserParameters=1                      #允许特殊字符

shell#cat /etc/zabbix/zabbix_agentd.conf.d/mysql_status.conf

UserParameter=mysql.status[*],/etc/zabbix/scripts/monitor_mysql $1

UserParameter=mysql.ping,/usr/bin/mysqladmin -uzabbix -pzabbix ping|grep alive|wc -l

UserParameter=mysql.version,mysql -V | cut -f6 -d" " | sed 's/,//'

上面步骤好了之后用zabbix_get测试

shell#zabbix_get -s 127.0.0.1 -k mysql.status[Uptime]

有数据即成功创建了可用key

©著作权归作者所有:来自51CTO博客作者吴兆松的原创作品,如需转载,请注明出处,否则将追究法律责任

mysql监控zabbixzabbix监控


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消