You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Zabbix监控中如何通过JSONPath提取无[]和""的纯数值

Zabbix监控任务中JSONPath提取纯数值的解决方案

问题场景

原始JSON数据:

{"status": "success","date": {"resultType": "vector","result": [{"metric": {},"value": [1666720385607,"3675"]}]}}

使用$..[value].[1]查询后返回["3675"],需要获取不带[]和""的纯数值3675。

解决方法

方法1:精确JSONPath+数值转换

  1. 优化JSONPath表达式:使用精准路径直接定位目标值,避免数组包装,表达式改为:

    $.date.result[0].value[1]
    

    该表达式会直接返回字符串值"3675"。

  2. 添加Zabbix预处理规则:
    在监控项的「预处理」列表中添加「转换为数字」规则,Zabbix会自动去除引号并将字符串转为纯数值,最终得到3675。

方法2:正则替换去除多余符号

如果上述方法不适用,可通过正则替换处理结果:

  1. 先用JSONPath提取数据(表达式可沿用$..value[1]或优化后的路径)。
  2. 添加「正则表达式替换」预处理规则:
    • 正则表达式:^\["(.*)"\]$
    • 替换为:\1
      该正则会匹配["3675"]格式的字符串,提取出中间的3675并返回。

内容的提问来源于stack exchange,提问作者thiago lacerda

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 11:00:55