Zabbix:MySQL服务监视器 – 重启zabbix-agent时无效

采取以下情况:

  • zabbixserver:httpd,mysql-server,zabbix 2.2.11本地数据库
  • 数据库服务器:mysql-server
  • zabbixserver正确监视本地mysql数据库。
  • zabbixserver报告数据库服务器上的mysql已closures,但已启动
  • zabbixserver报告数据库服务器上的其他服务工作正常

按照本指南 ,我已经完成了以下工作。 在数据库服务器上安装了zabbix-agent,它将报告给zabbixserver。

  • 创buildzabbixuser与所有数据库和刷新的权限使用授权
  • 创build/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的问题是:

  1. 您将.my.cnf文件放在错误的地方。

Zabix代理configuration文件已经规定了格式和参数。 如果您可以使用Include选项加​​载其他configuration文件,请确保它遵循相同的格式。 zabbix 文档明确指出:

从版本1.8.6开始,如果configuration文件中存在无效( 不遵循参数=值表示法 )或未知参数条目,Zabbix代理守护程序将不会启动。

所以,在你的情况下.my.cnf文件无法加载,当你把它放在/etc/zabbix/zabbix_agentd.d

  • 您错过了正确configurationuserparameter_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