Zabbix发现:读取JSON值

时间:2015-12-02 10:34:28

标签: zabbix

我有发现规则,它返回JSON文档:

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

我可以将此JSON对象的值分配给Item原型吗?或者在触发器中处理它。 例如“如果SIZE< 1 Warning将出现”

谢谢

1 个答案:

答案 0 :(得分:2)

问题中的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 discoverytrapper items