扩展 Zabbix agent

本教程逐步说明如何使用 用户参数 来扩展 Zabbix agent 的功能。

第一步

写一个脚本或命令行以检测所需的参数。

举个例子,我们编辑了下面的命令以获取 MySQL Server 执行的查询总数:

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 是一个唯一标识符。它可以是任何有效的 key 标识符,例如 queries

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

zabbix_agentd -t mysql.questions
第三步

通过如下方式重新加载用户自定义参数:

zabbix_agentd -R userparameter_reload

除了执行命令行,也可以重启agent来实现。

使用 zabbix_get 程序测试该用户自定义参数。

第四步

在被监控主机中添加使用key值为 “mysql.questions”的新监控项。监控项类型必须使用 Zabbix Agent 或 Zabbix Agent(Active)。

注意在 Zabbix Server上。必须设置正确的返回值类型,否则Zabbix无法处理。