Zabbix 7.4 API 可同步全量参数清单(同步第三方系统专用)

前置规则

  1. 基础返回字段output: ["字段1","字段2"] 指定;output: "extend" 返回该对象全部基础字段
  2. 关联子数据 :必须加 selectXXX 参数才会返回嵌套数组(主机接口、监控项、触发器、资产、标签等),不同步就不要写,减少数据量
  3. 所有ID均为字符串格式;时间字段为 Unix 时间戳(秒);状态/类型全是数字枚举

一、主机 host.get(最常用同步源)

1. 主机基础字段(不加select也能返回)

字段 说明
hostid 主机唯一主键ID(关联监控项/触发器/事件)
host 主机短标识名(agent配置里的Hostname)
name 主机显示别名(前端展示名)
status 0=启用监控,1=禁用主机
proxy_hostid 代理ID,0=无代理
description 主机备注描述
available Agent可用性:0未知/1可用/2不可用
disable_until 采集暂停到哪个时间戳
error Agent采集错误信息
maintenanceid 当前维护时段ID,0=无维护
maintenance_status 0不在维护,1维护中
maintenance_type 0维护仍采集,1维护停止采集
snmp_available / jmx_available / ipmi_available 对应采集方式可用性
snmp_error / jmx_error / ipmi_error 对应采集报错文本
tls_connect / tls_accept TLS加密配置标识
flags 0普通主机,4LLD自动发现主机
parent_hostid LLD父主机原型ID

2. 必须通过 select 开启才能同步的嵌套参数

  1. selectInterfaces: ["interfaceid","ip","dns","port","type","main","useip"]
    主机采集接口数组:
    • type:1 Agent / 2 SNMP /3 IPMI /4 JMX
    • main=1 为主采集接口;useip=1 使用IP连接
  2. selectGroups: ["groupid","name"] 所属主机组ID+组名
  3. selectParentTemplates: ["templateid","host"] 绑定模板ID+模板名称
  4. selectMacros: ["macro","value"] 主机自定义宏 {$XXX}
  5. selectInventory: "extend" 资产清单(硬件、机房、序列号、系统、负责人)
  6. selectTags: ["tag","value"] 主机标签(用于业务分类过滤)
  7. selectInheritedTags 从模板继承的标签
  8. selectItems 主机下所有监控项(不建议同步主机时带,单独item.get拉取)
  9. selectTriggers 主机下所有触发器(单独trigger.get拉取更高效)

二、监控项 item.get(指标数据同步核心)

基础字段

字段 含义
itemid 监控项唯一ID
hostid 归属主机ID
name 监控项显示名称
name_resolved 宏全部展开后的完整名称
key_ 监控项采集键(核心标识 system.cpu.load\[\])
type 采集类型枚举:0Agent/2SNMP/5Trapper/15计算型/19HTTP代理
value_type 数据类型:0浮点/1字符/2日志/3无符号整数/4文本
status 0启用采集,1禁用
delay 采集间隔(30s/1m/5m)
units 单位 % s GB ms
history 历史数据保留时长
trends 趋势数据保留时长
lastclock 最后一次取值时间戳
lastvalue 最新采集值
prevvalue 上一次采集值
state 0正常,1采集报错
error 采集失败错误文本
flags 0普通监控项,4LLD生成监控项
templateid 模板监控项来源ID,0为主机独立监控项
url HTTP监控项采集地址

select 关联同步字段

  • selectHosts:关联主机信息 hostid / host / name
  • selectPreprocessing: "extend":预处理规则(正则、JSON路径、聚合)
  • selectTags:监控项标签
  • selectValueMap:值映射(0=关闭,1=开启)
  • selectDiscoveryRule:LLD自动发现规则信息

三、触发器 trigger.get(告警规则同步)

基础字段

字段 说明
triggerid 触发器主键ID
description 告警名称
expression 告警判断表达式 {host:key.last()}>90
comments 告警备注、处理建议
priority 告警等级:0未分类/1信息/2警告/3一般/4高/5灾难
status 0启用,1禁用
value 当前状态:0正常,1故障(问题)
state 0表达式正常,1表达式错误
flags 0普通触发器,4LLD生成
templateid 模板触发器ID
type 0单次告警,1重复告警
recovery_expression 恢复条件表达式

select 关联字段

  • selectHosts:关联主机ID、主机名
  • selectItems:触发器绑定的监控项列表
  • selectTags:告警标签(用于告警分级/路由)
  • selectFunctions:表达式内函数信息

四、事件 event.get(实时告警事件同步)

基础同步字段(告警推送必拉)

字段 含义
eventid 事件唯一ID(告警流水号)
source 事件源:0触发器/1发现/2自动注册/3内部事件/4服务
object 对象类型:0触发器/1主机/2监控项/3LLD规则
objectid 对应triggerid/hostid/itemid
clock 事件发生时间戳
ns 纳秒(精确时间)
value 1=产生故障,0=故障恢复
name 事件标题(和触发器名称一致)
severity 事件等级,同trigger priority
acknowledged 0未确认,1已确认告警
r_eventid 恢复事件ID(故障恢复时回填)
c_eventid 关联问题事件ID(恢复事件携带)

select 关联

  • selectHosts:关联主机信息
  • selectTriggers:完整触发器详情
  • selectRelatedObject:绑定的触发器/主机完整对象

五、主机组 hostgroup.get(分组同步)

基础字段(无嵌套)

  • groupid:分组ID
  • name:分组名称
  • flags:0自定义组,4系统内置组

select关联:selectHosts 分组下所有主机ID列表

六、模板 template.get(监控模板同步)

基础字段

  • templateid:模板ID
  • host:模板名称
  • description:模板备注
  • status:0启用,1禁用

select可同步:selectItemsselectTriggersselectGraphsselectMacrosselectTags

七、LLD自动发现规则 discoveryrule.get

  • druleid:LLD规则ID
  • hostid:归属主机
  • name:规则名称
  • key_:LLD采集键
  • type:采集类型
  • delay:发现间隔
  • status:启用/禁用
  • filters:发现过滤条件
  • selectOverrides:LLD覆盖规则

八、通用辅助同步对象(按需拉取)

  1. 告警媒介 media.get:媒介ID、类型(邮件/钉钉/短信)、发送参数
  2. 用户 user.get:用户ID、用户名、角色、告警接收权限
  3. 动作 action.get:告警路由动作、触发条件、发送媒介、接收用户
  4. 图形 graph.get:监控图表、绑定监控项、绘图线条配置
  5. 历史数据 history.get / trends.get:指标时序值(只读,用于数据大屏同步)

同步实操关键要点 Zabbix7.4 特有

  1. 7.4 废弃旧批量接口host.massupdate 不再推荐,统一用 host.update 数组批量操作
  2. 永久API Token认证 :请求头 Authorization: Bearer xxx,无需每次调用 user.login
  3. 同步性能优化
    • 禁止 output: "extend",只写业务需要的字段
    • 关联 selectXXX 按需开启,不同步子数据不要携带
    • 大批量同步使用 limit+offset 分页,单次不要超过1000条
  4. 只读字段:lastvalueerroravailableclock 等采集状态字段仅能查询,无法通过API修改

同步常用极简请求模板(主机+监控项+告警三类)

1. 同步主机(仅业务关键字段)

json 复制代码
{
  "jsonrpc":"2.0",
  "method":"host.get",
  "params":{
    "output":["hostid","host","name","status","proxy_hostid"],
    "selectInterfaces":["ip","port","type"],
    "selectGroups":["groupid","name"],
    "selectTags":["tag","value"],
    "filter":{"status":0},
    "limit":500
  },
  "auth":"你的token",
  "id":1
}

2. 同步监控项

json 复制代码
{
  "jsonrpc":"2.0",
  "method":"item.get",
  "params":{
    "output":["itemid","hostid","name","key_","value_type","status","lastvalue"],
    "selectHosts":["hostid","host","name"],
    "limit":1000
  },
  "auth":"你的token",
  "id":2
}

3. 同步未恢复告警事件

json 复制代码
{
  "jsonrpc":"2.0",
  "method":"event.get",
  "params":{
    "output":["eventid","objectid","clock","name","value","severity","acknowledged"],
    "source":0,
    "object":0,
    "filter":{"value":1},
    "selectTriggers":["description","priority"],
    "selectHosts":["hostid","name"]
  },
  "auth":"你的token",
  "id":3
}
相关推荐
Scott9999HH6 小时前
【IIoT流量实战】蒸汽管道阀门全关却仍有流量?用 Python 实现涡街信号 FFT 频谱分析与温压全补偿积算网关,深度拆解靠谱的涡街流量计厂家硬核技术标准
开发语言·python
腻害兔7 小时前
【若依项目-产品经理视角】深度拆解 RuoYi-Vue-Pro 商城模块:从商品管理到交易引擎,50 张表撑起一整套电商系统
java·大数据·vue.js·产品经理·ai编程
码智社7 小时前
AES加密原理详解及Java实现加解密实战
java·开发语言
AI云海8 小时前
python 列表、元组、集合和字典
开发语言·python
萧瑟余晖8 小时前
JDK 26 新特性详解
java·开发语言
马优晨9 小时前
Freemarker 完整讲解(后端 Java 模板引擎)
java·开发语言·freemarker·freemarker 完整讲解·freemarker模板引擎
人邮异步社区11 小时前
怎么把C语言学到精通?
c语言·开发语言
心平气和量大福大11 小时前
C#-WPF-控件-TextBox 数据绑定
开发语言·c#·wpf
ttwuai12 小时前
Cursor 生成 CRUD 后,Go 后台接口别只测 200:JWT、RBAC 和 tenant_id 怎么验
开发语言·后端·golang
维天说12 小时前
CLI-Switch 2026年3月版历史设计:Hook、TTY 隔离与 JSON 状态
java·服务器·json