Percona Monitoring Plugins for Zabbix(MySQL)

这些模版主要来源于Cacti的模版,当前只提供MySQL template

Cacti and Zabbix templates的区别:

  • Zabbix 不支持Y轴,因此你会在某些图形会看到负值,这是为了解决这个问题,把它们看作正值

  • Zabbix不支持具有混合绘制样式的堆叠图形项目,因此有些图形不会像Cacti中那样好看,因为堆栈被替换成了线条

其它Zabbix中的特点:

  • 通过Zabbix Agent轮询来填充items的值。

  • 有预定义的triggers可供使用。

  • 有一屏可以显示所有图形。

  • 轮询间隔300秒-与Cacti中一致,现有的PHP脚本用于检索和缓存MySQL指标,除了一些特定于触发器的项目。由于要缓存结果,每个周期内PHP script只运行一次

系统要求

  • Zabbix 版本为 2.0.x. 已在 版本2.0.9中进行测试

  • 被监控节点中安装Zabbix agent, php, php-mysql(yum install -y zabbix-agent php php-mysql)

安装

配置Zabbix Agent

1.安装 Percona Software Repositorieshttps://www.percona.com/software/percona-software-repositories-for-mysql)下载的包:

          下载

 wget https://www.percona.com/downloads/percona-monitoring-plugins/LATEST/percona-zabbix-templates-1.1.8-1.noarch.rpm         Percona Monitoring Plugins for Zabbix(MySQL)

yum install percona-zabbix-templates

或者

apt-get install percona-zabbix-templates

它将文件放在/ var / lib / zabbix / percona /下。 或者,您可以获取tarball并将文件夹zabbix / scripts /和zabbix / templates /复制到/ var / lib / zabbix / percona /。

 2.复制 Zabbix Agent 配置:

mkdir -p /etc/zabbix/zabbix_agentd.d

cp /var/lib/zabbix/percona/templates/userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d/userparameter_percona_mysql.conf 

   3.确认/etc/zabbix/zabbix_agentd.conf中包含

     Include=/etc/zabbix/zabbix_agentd.d/

    4.重启Agent:

    systemctl restart zabbix-agent

在Agent上配置MySQL连接

在这一步中,我们需要配置Agent到本机MySQL的连接和认证

  1. 创建 .cnf 文件 /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php.cnf  

    vi /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php.cnf

    <?php

    $mysql_user = 'root';

    $mysql_pass = 's3cret';

    Percona Monitoring Plugins for Zabbix(MySQL)

     

  2. 测试脚本:

    [[email protected] main]# /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh gg405647

    如果密码错误,将返回如下报错

    [[email protected] ~]# /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh ggERROR: run the command manually to investigate the problem: /usr/bin/php -q /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php --host localhost --items gg[[email protected] ~]# /usr/bin/php -q /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php --host localhost --items ggERROR: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)[[email protected] ~]#

  3. 配置 ~zabbix/.my.cnf

    Example:

    [client]user = rootpassword = s3cret

    Percona Monitoring Plugins for Zabbix(MySQL)

     

  4. 测试脚本:

    [[email protected] ~]# sudo -u zabbix -H /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh running-slave0

    应该返回0或者1,不应该是 “Access denied”错误。

配置Zabbix Server

  1. 从/var/lib/zabbix/percona/templates中获取模版

  2. 下载到本地

  3. 通过Zabbix UI导入XML模版 (Configuration -> Templates -> Import),增加“Screen”

    Percona Monitoring Plugins for Zabbix(MySQL)

    导入时可能出现如下报错

    Percona Monitoring Plugins for Zabbix(MySQL)

    原因:此模版适用于Zabbix 2版本,不适用与zabbix 3

    解决方法:将该模版导入到Zabbix 2中,再导出,在Zabbix 3中重新导入

  4. 创建/编辑主机,连接到模版Percona MySQL Server Template

    Percona Monitoring Plugins for Zabbix(MySQL)

     

     

注意:

文件/tmp/localhost-mysql_cacti_stats.txt的属主需要调整成Zabbix的用户

chwon zabbix.zabbix /tmp/localhost-mysql_cacti_stats.txt