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

Zabbix中如何复用同一Item的JSON输出,规避重复执行高消耗检查?

解决方案

核心思路:使用Zabbix依赖Item(Dependent Item)复用原始数据

依赖Item不会触发Agent端的UserParameter调用,而是直接从父Item的历史数据中提取并处理,完美避免重复执行性能消耗大的自定义检查。

方案一(推荐,不影响现有配置)

如果原corrupt_sessions Item已经被触发器、仪表盘等引用,优先用这个方案:

  1. 新建原始数据采集Item

    • 名称:Corrupt Sessions Raw Data
    • Key:corrupt_sessions.raw(自定义唯一值即可)
    • 类型:保持和原Item一致(比如Zabbix agent)
    • UserParameter配置:和原Item相同,即调用corrupt_sessions对应的自定义检查
    • 预处理:无(保留原始JSON列表输出,如["abc", "def", "ghi"])
    • 存储类型:设为Text,确保原始JSON能被后续依赖Item解析
  2. 改造原统计Item为依赖Item

    • 编辑原corrupt_sessions Item:
      • 类型改为Dependent item
      • 父Item选择刚创建的Corrupt Sessions Raw Data
      • 保留原有预处理步骤:添加JSONPath,参数填$.length(),输出类型设为Numeric (unsigned)
    • 改造后,原Item的key、名称不变,所有引用它的触发器、图表无需修改
  3. 新建会话列表生成依赖Item

    • 名称:Corrupt Sessions List
    • Key:corrupt_sessions.list(自定义唯一值)
    • 类型:Dependent item
    • 父Item选择Corrupt Sessions Raw Data
    • 添加预处理步骤:选择JavaScript,输入以下脚本将JSON数组转为指定格式字符串:
      value = JSON.parse(value);
      return "Corrupt session IDs: " + value.join(", ");
      
    • 输出类型设为Text

方案二(直接调整原Item)

如果原Item尚未被大量引用,可以直接调整:

  1. 修改原Item采集原始数据

    • 编辑原corrupt_sessions Item:移除$.length()的JSONPath预处理,保留原始JSON列表输出,存储类型设为Text
  2. 新建两个依赖Item

    • 统计数量的依赖Item:
      • 名称:Corrupt Sessions Count
      • Key:corrupt_sessions.count
      • 类型:Dependent item,父Item为corrupt_sessions
      • 预处理:JSONPath参数$.length(),输出类型Numeric (unsigned)
    • 生成列表的依赖Item:
      • 名称:Corrupt Sessions List
      • Key:corrupt_sessions.list
      • 类型:Dependent item,父Item为corrupt_sessions
      • 预处理:用上述JavaScript脚本转换格式,输出类型Text

告警配置

设置触发器时,用统计数量的Item(原corrupt_sessions或corrupt_sessions.count)作为阈值判断条件,比如:

{Template XYZ:corrupt_sessions.last()} > 3

告警消息中直接引用会话列表Item的最新值,即可在告警时展示所有损坏会话ID:

当前损坏会话数:{ITEM.LASTVALUE}
损坏会话ID列表:{ITEM.LASTVALUE:corrupt_sessions.list}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 16:18:21