mysql-zabbix-agent 使用Zabbix监控MySQL服务器方法

01/27/2014

从Zabbix 2.2开始,Zabbix官方已经支持了MySQL监控,但是MySQL监控默认是不可用的,需要经过额外的设置才可以使用。Kaijia将Zabbix换到了新的服务器时候性能绰绰有余,于是决定充分发挥剩余的内存和SSD性能,把MySQL、Apache、PHP-FPM等的监控也开起来。

Google了一下后找到了一篇《How to Monitor MySQL using the new Zabbix Template App MySQL》,大部分内容都可用,可惜这位老兄最后的步骤写错了。。。于是参照此篇文章Kaijia整理了一下使用Zabbix监控MySQL服务器的方法。

Template_App_MySQL-2.2.0.xml。然后在Zabbix服务器的前端Web界面的组态->模板页面中选择汇入(各种神翻译),在新的页面中导入下载的模板文件。

接下来就是客户端的设置了,首先要建立一个MySQL帐户用于Zabbix Agent登录获取MySQL状态,这个帐户不需要任何权限,因此实质上可以使用debian-sys-maint也是可以的,另外如果在被监控的机子上本身就安装有Zabbix Server,那么可以直接使用zabbix帐户(密码可以在/etc/zabbix/zabbix_server.conf中找到)。当然可以登录被监控端的MySQL新建一个帐户:

 
 
 
 
MySQL
 
1
2
'密码';
PRIVILEGES;

设置完帐户之后在被监控端新建/etc/zabbix/.my.cnf以提供Zabbix Agent访问数据库,内容类似如下:

 
 
1
2
3
4
5
6
7
8
9
10
11
# Zabbix Agent
]
localhost
zabbix
密码
sock
]
localhost
zabbix
密码
sock

保存此文件然后修改/etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf,这个文件用于制定Zabbix Agent如何获取MySQL数据,我们需要将所有的/var/lib/zabbix修改为当前.my.cnf文件的路径/etc/zabbix。设置完成之后保存并重启Zabbix Agent:

 
 
 
 
Shell
 
1
restart

6月9日更新:Ubuntu 14.04官方源中提供的zabbix-agent包不会直接在/etc/zabbix/zabbix_agentd.d/中释放userparameter_mysql.conf,你需要手动运行以下命令将参考的userparameter_mysql.conf复制到该目录下:

 
 
 
 
 
Shell
 
1
/

这样我们在被监控端的设置就完成了,现在只需要在Zabbix前端将MySQL模板添加到需要监控的主机项中就可以开始监控了。