zabbix监控非rpm方式安装的mysql报错的原因及解决方案

背景
周末在家做测试,搭建了一台zabbix服务器及一台mysql服务器。
zabbix服务器上的mysql服务器采用yum方式安装,数据库版本5.1.73(yum安装的数据库版本一直很低。。。)。
mysql服务器上的mysql是从官网下载的tar包,数据库版本5.7.17,tar解压缩之后初始化,并设置了root用户的PATH环境变量(为什么在脚本里面不起作用呢?)。

搭建好zabbix环境后,zabbix可以监控两台服务器的运行状态。
接下来配置zabbix监控自身mysql数据库及另外一台服务器(mysql服务器)上的mysql数据库。
两边配置相同,包括连接mysql用户的用户名密码,及配置文件、脚本存放位置,均相同。
但是采用yum方式安装的mysql可以被监控到,各项数据采集正常。
而采用tar包解压缩方式安装的mysql无法被检测到,点击zabbix红色×状图标,提示如下:

Received value [sh: mysql: command not found] is not suitable for value type [Numeric (float)]

但在mysql服务器上运行zabbix_agentd -c /usr/local/zabbix/etc/zabbix_agentd.conf -t mysql.status[com_select]可以正常获取到结果。

百度搜到一篇文章,按照此文档操作,数据库正常被监控到。

链接如下:
https://www.oschina.net/question/2352125_239562

简单摘选如下:
zabbix 2.4 ,mysql 5.6 ,用zabbix监控mysql,在agent上 zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf -t mysql.status[com_select],可以正常显示结果,但是在server上添加模板之后,日志报这个错误mysql.status[Bytes_received]” became not supported: Received value [sh: mysql: command not found] is not suitable for value type [Numeric (float)]
另外一台机子添加监控都是成功,反而这台机子折腾一下午都是这个问题,有人能帮忙解答么

搞定了,必须在配置里加上mysql的bin路径,这真是灵异了,布了四五台mysql,就这一台要添加路径,悲催….

在哪个文件指定mysql的bin路径?

试着修改了/etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf 这个文件里”HOME=/etc/zabbix mysql -N”,把mysql的路径补全,即改为HOME=/etc/zabbix /usr/bin/mysql -N。我是改了这个就可以了。

你可能感兴趣的:(zabbix)