1 扩展 Zabbix agents

本教程逐步说明了如何通过使用 user parameter 来扩展 Zabbix agent 的功能。

步骤1

编写一个脚本或命令行以获取所需参数。

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

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

当执行该命令时,它将返回SQL queries的总数。

步骤 2

将命令添加到 zabbix_agentd.conf:

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

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

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

zabbix_agentd -t mysql.questions
步骤3

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

zabbix_agentd -R userparameter_reload

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

使用 zabbix_get 工具测试该参数。

步骤4

在被监控的主机上添加新的监控项,键值为mysql.questions。该监控项的类型必须为Zabbix Agent或Zabbix Agent(主动模式)。

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