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
}
相关推荐
摇滚侠1 小时前
MyBatis 入门到项目实战 MyBatis 核心配置文件 15-19
java·tomcat·mybatis
RoboWizard1 小时前
一块硬盘上架前要闯多少关?
java·服务器·数据库
码云骑士1 小时前
06-Python装饰器从入门到源码(上)-闭包与自由变量
开发语言·python
半夜燃烧的香烟2 小时前
docker 安装minio nginx,配置nginx根据文根路由minio展示图片
java·nginx·docker
吴阿福|一人公司2 小时前
深度解析 Python 类变量修改的命名空间隔离
java·服务器·数据结构
江南风月2 小时前
Hermes Agent 接入WGCLOUD实战:打造团队 AI 智能运维解决方案
运维·zabbix·运维开发·prometheus
zzz_23682 小时前
【Java基础】链表的七十二变——从LRU缓存到手写浏览器前进后退
java·链表·缓存
码云骑士2 小时前
10-Python运行时内存模型-栈帧-堆-引用计数-GC分代回收的全景图
开发语言·python
番茄去哪了2 小时前
神领物流面试题(一)
java·大数据·中间件