1

我已经成功安装了一个zabbix环境。现在我想使用zabbix_sender,将数据从第三方程序发送到zabbix。我创建了一个主机“api_test”和一个带有键“java.test.item”的项目“test item”。发送

zabbix_sender -z localhost -p 10051 -s "api_test" -k java.test.item -o 1234

来自 linux 服务器的工作完美,并按预期添加了数据集。问题是,我想使用发现项,但我找不到 zabbix_sender 的正确语法。以下是我配置发现规则的方式:

发现规则配置

这是项目原型:

项目原型配置

我预计以下查询会根据项目原型添加项目,但没有任何反应:

zabbix_sender -z localhost -p 10051 -s "api_test" -k java.th.discovery -o '{"data":[{"{#THNAME}:"test_thread"}]}'

我也尝试过使用不同的引号(单引号、双引号、无引号),但似乎没有任何效果。因此,我之后尝试的以下查询失败:

zabbix_sender -z localhost -p 10051 -s "api_test" -k java.th.ex["test_thread"] -o 98765

问题是:我错在哪里?我猜这是发现规则,或者是用于发现的 zabbix_sender 语法,但我在文档中找不到任何内容。

任何帮助表示赞赏!

4

1 回答 1

4

Steffen,您在 Zabbix 前端的配置是正确的。

但是,您在命令行中使用的 JSON 语法存在错误。{#THNAME} 后缺少双引号:

{"data":[{"{#THNAME}:"test_thread"}]}

您应该在发现列表中看到有关它的错误消息:

在此处输入图像描述

修复该问题后,它应该可以工作。如果不是,请提供有关您的“@Thread for discovery”宏的详细信息以及您收到的错误消息。

于 2014-03-20T10:59:43.440 回答