zabbix官方支持监控MySQL,但直接使用默认的模板是不可用的,还需要经过额外的设置才可以使用。如果只需要对mysql数据库做简单的监控,zabbix自带的模板完全能够满足要求;如果有更高的需求那需要自己写脚本,或者使用fromdual插件.

  下面是用zabbix自带的模板监控mysql的步骤。

  环境:zabbix2.2 centos6.5 LTS mysql 5.5

  1、确定zabbix中有mysql监控模板。默认已经在zabbix2.2及以上的版本中。模板名称:Template App MySQL。

    如果没有则要去zabbix官方下载 url:https://zabbix.org/mw/p_w_picpaths/d/d4/Template_App_MySQL-2.2.0.xml,然后在Zabbix服务器的前端Web界面的组态->模板页面中选择汇入(各种神翻译),在新的页面中导入下载的模板文件。

 

  2、配置mysql的客户端,创建一个用户来获取mysql的相关数据

GRANT USAGE ON *.* TO 'mysqlcheck'@'localhost' IDENTIFIED BY 'mysqlcheck';
FLUSH PRIVILEGES;

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

复制代码

vim /etc/zabbix/.my.cnf

[mysql]
host     = localhost
user     = mysqlcheck
password = mysqlcheck
socket   = /var/run/mysqld/mysqld.sock
[mysqladmin]
host     = localhost
user     = mysqlcheck
password = mysqlchechk
socket   = /var/run/mysqld/mysqld.sock

复制代码

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

sed -i 's@/var/lib/zabbix@/etc/zabbix@g' /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf
service zabbix-agent restart
5、在server上查看mysql监控项有没有回传值
#/usr/local/zabbix/bin/zabbix_get -s 192.168.30.1 -p10050 -k mysql.status[uptime]

  5、以上就配置完成了。开始监控后,主机会生成两个新图形。