zabbix 3.4监控mysql 5.6解决Warning: Using a password on the command line interface can be insecure.

zabbix 3.4监控mysql 5.6解决Warning: Using a password on the command line interface can be insecure.

 

使用zabbix 3.4自带模板对mysql进行监控时,报Value "sh: mysqladmin: 未找到命令 0" of type "string" is not suitable for value type "Numeric (unsigned)"

报错原因这里报这种错误是因为返回的结果集中有字符串提醒信息,而后台zabbix的item的是decimal所以存储不进去报错

之所会导致这种问题现象,是发现mysql5.6以上版本在使用mysqladmin时会发出警告:“Warning: Using a password on the command line interface can be insecure.” 。这样zabbix服务端获取数值的时候,会带有该字符串,导致报错。

 

解决办法试了很多,都没有效果,主要操作是:

修改my.conf配置文件,将mysqladmin用户名密码写入配置文件。

vim /etc/my.cnf

[mysqladmin]

user=zabbix

password=ys_ipowerlong0418

由于修改my.cnf需要重启mysql才可能生效,生产环境中不方便采用此方法

采用:将mysqladmin的警告信息重定向到/dev/null,忽略掉告警信息。

参考配置方法如下:

在/usr/local/zabbix/etc/zabbix_agentd.conf.d中的userparameter_mysql.conf中修改如下标红内容

UserParameter=mysql.ping,/usr/local/mysql/bin/mysqladmin -uzabbix -p123456 --socket=/mysql/data/Data/3307/data/mysql.sock  ping 2>/dev/null | grep -c alive

注:由于本人环境中需要在/usr/local/zabbix/etc/zabbix_agentd.conf.d中的userparameter_mysql.conf中才能让自定义的监控项生效,有的环境是需要配置zabbix_agentd.conf文件中生效的,不同环境不同的配置文件不一样

在原有命令中加上2>/dev/null 就行了。

使用命令测试下:

修改之前:

[root@tslave scripts]# mysqladmin -uzabbix -p123456 --socket=/mysql/data/Data/3307/data/mysql.sock  ping  | grep -c alive
Warning: Using a password on the command line interface can be insecure.
1

修改之后:

[root@tslave scripts]# mysqladmin -uzabbix -p123456 --socket=/mysql/data/Data/3307/data/mysql.sock  ping 2>/dev/null | grep -c alive
1

从上面操作信息来看,已经不提示那个安全提示信息,同时在zabbix中也可以看到数据正常显示了

zabbix 3.4监控mysql 5.6解决Warning: Using a password on the command line interface can be insecure._第1张图片

你可能感兴趣的:(linux,Mysql,Zabbix)