您的位置:首页 > 数据库 > SQL

zabbix使用自带模板监控Mysql

2016-08-18 13:53 1081 查看
说明:
如果要使用zabbix监控mysql,默认的模板是无法工作的,因为没有key的存在,所以要自己写脚本、自己定义key。脚本可以用任意语言实现,但在linux下还是shell方便

流程:
zabbix监控mysql大概有以下步骤:
mysql添加zabbix用户,允许zabbix查看mysql状态
zabbix agent添加mysql_status脚本,用于获取mysql status值;
zabbix agend添加mysql_status.conf配置文件,定义key值。配置文件ok后重启zabbix agentd;
zabbix server上的web界面添加对应主机mysql模板(自带)

1、添加监控用户,登入到数据里然后:
GRANT USAGE ON *.* TO 'zabbix'@'localhost' IDENTIFIED BY 'zabbix' WITH GRANT OPTION;
flush privileges;      ##刷新系统授权
grant all on zabbix.* to 'zabbix'@'127.0.0.1' identified by 'zabbix' with grant option;


2、创建mysql_status脚本
sudo vim /etc/zabbix/scripts/mysql_status.sh
#!/bin/bash
mysql=/usr/bin/mysql
var=$1
MYSQL_USER=$2
MYSQL_PASSWORD=$3
MYSQL_Host=$4
[ "${MYSQL_USER}"     = '' ] &&  MYSQL_USER=zabbix   #mysql的zabbix用户
[ "${MYSQL_PASSWORD}" = '' ] &&  MYSQL_PASSWORD=zabbix  #mysql的zabbix密
码
[ "${MYSQL_Host}"     = '' ] &&  MYSQL_Host=localhost   #zabbix agentd的
内网ip
[ "${var}" = '' ] && echo ""||${mysql} -h${MYSQL_Host} -u${MYSQL_USER} -p${MYSQL_PASSWORD} -e 'show global status'|grep -v Variable_name|grep "\b${var}\b"|awk '{print $2}'


3、修改zabbix_agentd.conf文件:
sudo egrep -v "(^#|^$)" /etc/zabbix/zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix-agent/zabbix_agentd.log
LogFileSize=0
Server=192.168.16.62
Include=/etc/zabbix/zabbix_agentd.conf.d/     #启用扩展配置目录
UnsafeUserParameters=1        #允许自动以key
UserParameter=net.eth0[*], /etc/zabbix/scripts/net.sh $1


4、创建mysql.conf扩展配置文件
sudo vim /etc/zabbix/zabbix_agentd.conf.d/mysql.conf
UserParameter=mysql.status[*],/etc/zabbix/scripts/mysql_status.sh $1
UserParameter=mysql.ping,/usr/bin/mysqladmin ping  -uzabbix -pzabbix|grep alive|wc -l
UserParameter=mysql.version,/usr/bin/mysql -uzabbix -pzabbix -e "select version();"|awk 'END {print}'


5、重启agent进程
sudo /etc/init.d/zabbix-agent restart

6、链接模板








文章参考: http://blog.csdn.net/yabingshi_tech/article/details/50682072
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  zabbix