配置 Zabbix 实现对 Mysql 的监控

1、在 zabbix server 下载并安装 appaloosa-zabbix-templates

perl tools/gen_template.pl defs/mysql.pl mysql.xml

如果出现 Can’t locate XML/Simple.pm in @INC 这样的错误,需再安装 perl 相关模块:

yum install perl-XML-Simple.noarch perl-DateTime.i386 perl-List-MoreUtils.i386

2、在 zabbix server 的 web 管理界面中导入模板,选择刚才的 mysql.xml 文件。如果之前系统中存在 Template MySQL 的模板,需先删除。

3、在 zabbix server 的 web 管理界面中选择需监控的主机,链接模板 Linux 与 MySQL。在添加模板时发现会存在冲突,怀疑是之前的模板在删除时存在问题,经查阅代码,最终原因是  proc.num[mysqld] 这个 key 在Linux、MySQL两个模板中都存在,导致合法性检查无法过去,修改其中之一即可。

4、在被监控主机安装 zabbix,默认安装在 /usr/local/zabbix 路径,其下再建立新的目录,/usr/local/zabbix/plugins 以及 /usr/local/zabbix/conf.d。

5、配置访问数据库的帐号,需具备 select、super、process 的权限。

GRANT SELECT, SUPER, PROCESS ON *.* TO 'zabbix'@'localhost' identified BY 'some_password';

6、下载 percona-monitoring-plugins,从中提取出 ss_get_mysql_stats.php 并上传到被监控的主机 /usr/local/zabbix/plugins/ 目录,修改该文件中连接数据库的用户名及密码。

7、从刚才下载的 appaloosa-zabbix-templates 中提取出 mysql_agentd.conf 并上传到被监控的主机 /usr/local/zabbix/conf.d/ 目录,并使用如下指令替换 $ZABBIX_AGENT_PATH 的路径:

sed -e 's¦$ZABBIX_AGENT_PATH¦/usr/local/zabbix/plugins¦' mysql_agentd.conf > mysql_agentd.conf

8、修改 /etc/zabbix/zabbix_agentd.conf,在文件末增加以下内容:

Include=/usr/local/zabbix/conf.d/

9、注意 mysql_agentd.conf 与 ss_get_mysql_stats.php 中定义的 item 名称应相同,下载位置中的文件此名称并不相同,因为 percona 的插件中为了与 cacti 兼容而修改了此处,需相应修改。附件为与此相匹配版本的 template、conf 及 php 文件。

参考资料:
appaloosa-zabbix-templates
install-zabbix-mysql-plugin-imported
另一种监控MySQL的方法

发表评论

电子邮件地址不会被公开。 必填项已用*标注