zabbix默认自带mysql监控模板,但比较简单,这里就简单改良自带模板设置了几个常用自定义key传参数,进行一个当前mysql配置、运行状态以及mysql宕机、慢查询触发器报警的监控。
说明:当前只是一些简单的监控,达不到DBA的要求,不过原理是一样的,其他监控参数 可以自行添加监控项执行获取需要的参数。
1,下载监控模板并导入,这里文章更新采用的是zabbix 3.4。需要监控的主机添加这个模板。我自己改良的mysql监控模板下载地址:
http://download.21yunwei.com/zabbix/mysql/zab_mysql.tar.gz
2,要监控的服务器上创建可以登录mysql的用户
grant usage on *.* to 'zabbix'@'localhost' identified by 'zabbix'; flush privileges;
3,编写mysql采集脚本,这里我自己简单写了一个:
#!/bin/bash #use zabbix to monitor mysql for single #author: 21yunwei mysql=/usr/bin/mysql conf=$1 stat=$2 flag=$# user=zabbix password=zabbix if [ $flag == 1 ] ;then #server mysql_configure info cmd_conf=`${mysql} -u${user} -p${password} -e 'show variables '|grep "b${conf}b"|awk '{print $2}'` echo $cmd_conf elif [ $flag == 2 ];then #server mysql_status info cmd_status=`${mysql} -u${user} -p${password} -e 'show global status'|grep -i -v 'Variable_name'|grep "b${stat}b"|awk '{print $2}'` echo $cmd_status fi
4,修改agent端配置文件,启用自定义参数。注意修改完以后需要重启agent才能生效。
#mysql monitor UserParameter=mysql.ping,/usr/bin/mysqladmin ping -uzabbix -pzabbix | grep -c alive UserParameter=mysql.config[*], /home/yunwei/mysql_zbx.sh $1 UserParameter=mysql.status[*], /home/yunwei/mysql_zbx.sh $1 $2
看下效果:
制作了两个简单图形:
再次说明:当前只是一些简单的监控,监控的参数达不到DBA的要求,不过原理是一样的,其他监控参数 可以自行添加监控项执行获取需要的参数,比如show global status里边的innodb参数、mysql错误日志监控等等。
转载请注明:西数超哥博客www.ysidc.top» [原创]通过zabbix 使用改良自带模板Template App MySQL监控服务器上的mysql
https://www.ysidc.top 西数超哥博客,数据库,西数超哥,虚拟主机,域名注册,域名,云服务器,云主机,云建站,ysidc.top