hteesa 发表于 2015-3-13 13:03:29

使用Zabbix监控MySQL服务器方法

从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服务器的方法。

首先要确定Zabbix服务有MySQL的监控模板。MySQL模板默认包含在了Zabbix 2.2中,但如果是从较旧版本的Zabbix升级而来的话可能这个模板并没有导入。这种情况的话需要访问Zabbix官方的Wiki页面下载此模板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新建一个帐户:

GRANT USAGE ON *.* TO 'zabbix'@'localhost' IDENTIFIED BY '密码'; FLUSH PRIVILEGES;

   
GRANT USAGE ON *.* TO 'zabbix'@'localhost' IDENTIFIED BY '密码';
FLUSH PRIVILEGES;

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

# Zabbix Agent host   = localhost user   = zabbix password = 密码 socket   = /var/run/mysqld/mysqld.sock host   = localhost user   = zabbix password = 密码 socket   = /var/run/mysqld/mysqld.sock

   
# Zabbix Agent

host   = localhost
user   = zabbix
password = 密码
socket   = /var/run/mysqld/mysqld.sock

host   = localhost
user   = zabbix
password = 密码
socket   = /var/run/mysqld/mysqld.sock

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

service zabbix-agent restart

   
service zabbix-agent restart

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

cp /usr/share/doc/zabbix-agent/examples/userparameter_mysql.conf /etc/zabbix/zabbix_agentd.conf.d/

   
cp /usr/share/doc/zabbix-agent/examples/userparameter_mysql.conf /etc/zabbix/zabbix_agentd.conf.d/

这样我们在被监控端的设置就完成了,现在只需要在Zabbix前端将MySQL模板添加到需要监控的主机项中就可以开始监控了。
页: [1]
查看完整版本: 使用Zabbix监控MySQL服务器方法