扩展 Zabbix agent

本教程提供了逐步说明,介绍如何使用 user parameter 来扩展 Zabbix agent 的功能。

第 1 步

编写脚本或命令行以检索所需参数。

例如,我们可以编写以下命令,以获取 MySQL 服务器执行的查询总数:

mysqladmin -uroot status | cut -f4 -d":" | cut -f1 -d"S"

执行后,该命令会返回 SQL 查询总数。

步骤 2

将该命令添加到 zabbix_agentd.conf 配置文件

UserParameter=mysql.questions,mysqladmin -uroot status | cut -f4 -d":" | cut -f1 -d"S"

mysql.questions 是一个唯一标识符。它可以是任何有效的键标识符,例如 queries

使用 Zabbix agent 的 -t 标志测试此参数(如果以 root 身份运行,请注意,agent 以守护进程方式启动时可能具有不同的权限):

zabbix_agentd -t mysql.questions
第 3 步

通过运行以下命令从配置文件重新加载用户参数:

zabbix_agentd -R userparameter_reload

你也可以重启 agent,而不是使用运行时控制命令。

使用 zabbix_get 工具测试该参数。

第 4 步

向被监控的主机添加新的监控项,Key=mysql.questions。 该监控项的类型必须是 Zabbix AgentZabbix Agent (active)

请注意,返回值的类型必须在 Zabbix 服务器上正确设置。 否则 Zabbix 将不会接受它们。