Zabbix:MySQL 服务监视器-重新启动 zabbix-agent 时出现无效条目

Zabbix:MySQL 服务监视器-重新启动 zabbix-agent 时出现无效条目

请考虑以下情况:

  • zabbixserver:httpd、mysql-server、带本地数据库的 zabbix 2.2.11
  • 数据库服务器:mysql-server
  • zabbixserver正确监控本地mysql数据库。
  • zabbixserver 报告数据库服务器上的 mysql 已关闭,但实际上它已启动
  • zabbixserver 报告数据库服务器上的其他服务工作正常

我已经做了以下工作来实现这一点,本指南. 在数据库服务器上安装了 zabbix-agent,它向 zabbixserver 报告。

  • 创建 zabbixuser,授予所有数据库的使用权限并刷新权限
  • 创建/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 有两个配置文件:mysql 和 mysqladmin,但我不明白它们链接到哪里以及为什么要使用它们。重新启动 zabbix-agent 会导致错误。

启动 Zabbix 代理:zabbix_agentd [12334]:配置文件 [/etc/zabbix/zabbix_agentd.d//.my.cnf] 中的无效条目 [[mysql]](未遵循“parameter=value”符号),第 1 行

报告/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'

这个配置有什么问题?

答案1

您的配置存在以下问题:

  1. 您将.my.cnf文件放在了错误的位置。

Zabix 代理配置文件具有规定的格式和定义的参数。如果您可以使用Include选项来加载其他配置文件,请确保它遵循相同的格式。zabbix文档明确指出:

从 1.8.6 版本开始,如果无效(不遵循参数=值表示法) 或配置文件中存在未知参数条目。

因此,在您的情况下,.my.cnf当您将文件放在 下时,文件将无法加载/etc/zabbix/zabbix_agentd.d

  • 您缺少正确配置文件的部分userparameter_mysql.conf

要解决这些问题,请执行以下操作:

  • .my.cnf将文件从/etc/zabbix/zabbix_agentd.d目录移动到/etc/zabbix。同时删除所有Include引用 .my.cnf 文件的条目(如果有)。文件内容可能如下所示:
[mysqld]
user=username
password=userpass

[mysqladmin]
user=username
password=userpass

请确保此处列出的用户存在并在mysql中具有必要的权限。

  • 编辑/etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf文件:您需要用 替换HOME=/var/lib/zabbixHOME=/etc/zabbix指向正确的文件(应该出现三次),如文件第一行所述。

  • 最后重新启动代理: service zabbix-agent restart

相关内容