采取以下情况:
按照本指南 ,我已经完成了以下工作。 在数据库服务器上安装了zabbix-agent,它将报告给zabbixserver。
/etc/zabbix/.my.cnf 文件/etc/zabbix/.my.cnf被忽略。 如果我把它放在/etc/zabbix/zabbix_agentd.d ,则会使用它。
[mysql] user=zabbixuser password=123456 [mysqladmin] user=zabbixuser password=123456
这个.my.cnf有两个configuration文件:mysql和mysqladmin,但我没有看到这些链接在哪里,为什么我应该使用这些。 重新启动zabbix-agent会导致错误。
在configuration文件[/etc/zabbix/zabbix_agentd.d//.my.cnf]第1行中启动Zabbix代理程序:zabbix_agentd [12334]:无效的入口[[mysql]](不遵循“parameter = value”表示法)
/var/log/zabbix/zabbix_agentd.log报告了这一点:
1077:20151125:170718.508 active check configuration update from [10.2.3.4:10051] started to fail (cannot connect to [[10.2.3.4]:10051]: [4] Interrupted system call) mysqladmin: unknown variable 'USER=zabbixuser' mysql: unknown variable 'USER=zabbixuser'
这个configuration有什么问题?
您的configuration的问题是:
.my.cnf文件放在错误的地方。 Zabix代理configuration文件已经规定了格式和参数。 如果您可以使用Include选项加载其他configuration文件,请确保它遵循相同的格式。 zabbix 文档明确指出:
从版本1.8.6开始,如果configuration文件中存在无效( 不遵循参数=值表示法 )或未知参数条目,Zabbix代理守护程序将不会启动。
所以,在你的情况下.my.cnf文件无法加载,当你把它放在/etc/zabbix/zabbix_agentd.d 。
userparameter_mysql.conf文件的部分。 要解决这个问题:
.my.cnf文件从/etc/zabbix/zabbix_agentd.d目录移动到/etc/zabbix /etc/zabbix/zabbix_agentd.d 。 并删除任何Include条目以引用.my.cnf文件(如果有的话)。 该文件的内容可能如下所示: [mysqld] user=username password=userpass [mysqladmin] user=username password=userpass
请确保这里列出的用户存在,并在MySQL中具有必要的权限。
编辑/etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf文件:您需要用HOME=/etc/zabbix /etc/zabbix/zabbix_agentd.d/userparameter_mysql.confreplaceHOME=/var/lib/zabbix指向正确的文件(应该出现三次)文件的第一行。
最后重启代理: service zabbix-agent restart