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

如何通过Zabbix API获取已解决问题历史记录

获取Zabbix已解决问题报表的两种方法

一、通过Zabbix API获取

你提到的problems.get方法其实支持获取已解决问题,只需添加特定参数即可:

  • 设置state参数为1,指定筛选已解决的问题
  • 用time_from和time_till定义目标时间段(如上月)的时间戳
  • 可选:添加sortfield和sortorder对结果排序

示例API请求(JSON格式):

{
    "jsonrpc": "2.0",
    "method": "problems.get",
    "params": {
        "output": "extend",
        "time_from": 1698844800,  // 替换为上月起始时间戳
        "time_till": 1701523199,   // 替换为上月结束时间戳
        "state": 1,
        "sortfield": "r_clock",
        "sortorder": "DESC"
    },
    "auth": "your_authentication_token",
    "id": 1
}

注:r_clock是问题解决的时间戳,按此字段排序可优先看到最新解决的问题

二、直接查询Zabbix数据库

如果API方式满足不了需求,可直接查询Zabbix后端数据库(以MySQL为例):
已解决问题存储在problem表中,state=1标识已解决,r_clock字段为非0的解决时间。

示例SQL查询:

SELECT
    p.eventid AS 事件ID,
    FROM_UNIXTIME(p.clock) AS 问题出现时间,
    FROM_UNIXTIME(p.r_clock) AS 问题解决时间,
    p.name AS 问题描述,
    h.host AS 关联主机名,
    p.severity AS 问题级别
FROM problem p
LEFT JOIN hosts h ON p.objectid = h.hostid
WHERE
    p.state = 1
    -- 替换为上月的时间范围
    AND p.clock BETWEEN UNIX_TIMESTAMP('2023-11-01 00:00:00') AND UNIX_TIMESTAMP('2023-11-30 23:59:59')
ORDER BY p.r_clock DESC;

注:若需获取更多字段,可参考Zabbix数据库表结构文档扩展查询字段

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 00:20:57