Zabbix3.0自带了MySQL插件来监控mysql数据库的模板,只需要配置好agent客户端,然后在web端给主机增加模板就行了。
主要是三点:
1.agent端添加/etc/zabbix/.my.cnf文件,添加帐号/密码
2.agent端执行grant all on *.*授权给帐号
3.agent端修改userparameter_mysql.conf文件里面的路径
登录agent端执行以下操作:
1.安装好zabbix服务端和agent端:(略)
2.登录zabbix客户端:
yum -y install zabbix22-agent
systemctl enable zabbix-agent
systemctl start zabbix-agent
cat > /etc/zabbix/.my.cnf << end
[client]
host=客户端IP //host语句可选。不填则默认为:host=localhost。则后面的grant这样写:grant all on *.* to zabbix@'localhost'
//如果填了IP,则后面的grant这样写:grant all on *.* to zabbix@'客户端IP'
socket=/var/lib/mysql.sock //可选
user=zabbix
password=028TpeG2G057W4M841
end
登录agent端的MYSQL,添加帐号:
grant all on *.* to zabbix@'localhost' identified by '028TpeG2G057W4M841';
flush privileges;
exit
注:执行后在服务端执行以下命令测试:
zabbix_get -s agent端IP -p10050 -k "mysql.status[Uptime]" ,如果zbx抓不到数据或报错,则试试:
grant all on *.* to zabbix@'127.0.0.1' identified by 'zabbix'; //再不行,将127.0.0.1换成 agent端的IP 或 % 试试
3.登录agent端修改配置:
vim /etc/zabbix/zabbix_agentd.conf
Include=/etc/zabbix_agentd.conf.d/ //243行,取消注释。也可能是:/etc/zabbix/zabbix_agentd.d/,无所谓。
保存退出
mkdir -p /etc/zabbix_agentd.conf.d/
cp /usr/share/doc/zabbix22-agent-2.2.18/userparameter_mysql.conf /etc/zabbix_agentd.conf.d/
sed -i 's@/var/lib/zabbix@/etc/zabbix@g' /etc/zabbix_agentd.conf.d/userparameter_mysql.conf
//修改路径为zabbix主配置目录:/etc/zabbix ,conf文件路径可能有不同。
注:最好将里面的 mysql和 mysqladmin 命令加上全路径,否则存在可能无法获取到数据的可能。
4.重启agent端服务:
systemctl restart zabbix-agent
在zabbix服务端测试:
zabbix_get -s 192.168.1.25 -p 10050 -k "mysql.status[Uptime]"
12085434 //如果出现类似这一串key的数字,就说明配置ok,服务端能监控到agent端的mysql数据了!
5.给agent端主机添加MYSQL监控模板(模板是自带的):
给MYSQL监控绘图:
效果图: