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

Zabbix LLD:如何从JSON创建动态监控项?

解决Zabbix动态监控车库车辆数量的配置步骤

1. 新增实时查询单品牌车辆数的UserParameter

在主机的Zabbix Agent配置文件中添加以下参数(若已有相关查询逻辑,可直接复用脚本,否则新建查询脚本):

UserParameter=garage.car.count[*], /home/data/get_car_count.sh $1

对应的get_car_count.sh脚本需要支持接收品牌名称参数,并返回该品牌当前的车辆数量,示例逻辑如下:

#!/bin/bash
BRAND=$1
# 从实际数据源(如存储车辆数的文件/数据库)中查询对应品牌的数量
grep "^$BRAND " /home/data/car_list.txt | awk '{print $2}'

(请根据你实际的车辆数存储方式调整脚本逻辑,确保输入品牌名能返回正确数值)

2. 配置监控项原型

进入Zabbix GUI中目标主机的页面,找到已创建的「car brand」自动发现规则,点击监控项原型标签,创建新的监控项原型:

  • 名称:车库车辆数 - {#BRAND}(通过{#BRAND}宏动态替换品牌名称)
  • 类型:Zabbix agent
  • 键值:garage.car.count[{#BRAND}](借助宏将发现的品牌名传递给UserParameter)
  • 更新间隔:按需设置(比如5m,需短于发现规则的1小时周期,保证数据实时性)
  • 信息类型:数值(整数)
  • 其他参数(如历史数据保留时长、趋势存储周期等)按需配置

3. 验证配置

  • 重启Zabbix Agent使新增的UserParameter生效:systemctl restart zabbix-agent
  • 等待自动发现规则执行(或手动触发发现),Zabbix会自动为每个发现的品牌创建对应监控项
  • 进入「最新数据」页面,筛选目标主机和对应监控项,确认是否能正常获取车辆数量数值

关键说明

你之前的发现脚本中返回的{#NB}仅为发现时刻的静态数值,不会随车辆数量变化实时更新,因此必须通过独立的UserParameter来实时查询每个品牌的当前数量,确保监控数据的时效性。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 00:10:20