我已经成功安装了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的正确语法。以下是我配置发现规则的方法:
这是项目原型:
我希望以下查询根据项目原型添加一个Item,但没有任何反应:
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语法,但我在文档中找不到任何内容。
感谢任何帮助!
答案 0 :(得分:4)
Steffen,您在Zabbix前端的配置是正确的。
但是,您在命令行中使用的JSON语法中存在错误。 {#THNAME}之后的双引号丢失:
{"data":[{"{#THNAME}:"test_thread"}]}
您应该会在发现列表中看到有关它的错误消息:
修复该问题后,它应该可以正常工作。如果没有,请提供有关“@Thread for discovery”宏的详细信息以及您收到的错误消息。