Zabbix 发现:读取 JSON 值

Zabbix discovery: read JSON value

我有发现规则,returns JSON 文档:

{
   "data":[
      {"SIZE":9556},
      {"SIZE_DIFFERENCE":0.00502302218501465},
      {"DUPLICATES":0},
      {"TODAY_ZERO_CLPRICE":9556},
      {"LISTED_SYMBOLS":true}
    ]
}

我可以将此 JSON 对象的值分配给 Item 原型吗?或者在触发器中处理它。 喜欢"If SIZE < 1 Warning will appear"

谢谢

问题中的 JSON 文档对于低级发现不是很有效。

在 JSON 中,data 元素有五个对象,每个对象都有不同的属性。这样的东西会更合适(注意 LLD 宏语法):

{
   "data":[
      {
          "{#SIZE}":9556,
          "{#SIZE_DIFFERENCE}":0.00502302218501465,
          "{#DUPLICATES}":0,
          "{#TODAY_ZERO_CLPRICE}":9556,
          "{#LISTED_SYMBOLS}":true
      }
   ]
}

如果您希望创建具有固定值的项,您可以使用常量表达式创建计算项,如下所示:

{#SIZE}

但是,更好的方法是在 LLD 期间创建陷阱项目并单独发送这些值。

请参阅official documentation on low-level discovery and trapper items了解更多信息。