用途:从 Zabbix 读取当前告警与历史事件,用于回答“现在有什么问题”“某问题持续了多久”“哪条触发器引发”等运维排查问题。底层为只读的 zabbix-mcp,提供三个工具。
主要能力:
- 当前问题用 problem.get 读取专用问题表,适合判断“现在哪里出错”。
- 历史用 event.get,较重,需要给定时间窗口;event.get 配 value: 0 可取到已解决问题的恢复记录。
- 触发器定义用 trigger.get,用于查规则本身。
- 每条上报的问题都应包含:严重级别、主机、起始时间、持续时长、确认(acknowledgement)状态,持续时间不可省略。
- 严重级别取值:0 未分类、1 信息、2 警告、3 一般、4 高、5 灾难。
使用方式:先按严重级别、hostids 或 groupids 过滤再作答,不要先全部返回再让读者自行忽略。过滤时要说明过滤掉了什么,避免把“筛出的两条”误当作“只有两条”。示例调用(保持原样):zabbix_api("problem.get", {"output": "extend", "selectAcknowledges": "extend", "selectTags": "extend", "recent": false, "sortfield": ["eventid"], "sortorder": "DESC"})。
关键限制:
- “Zabbix 无活动问题”和“Zabbix 不可达”必须区分表述。空结果可能是监控正常,也可能是查不到,二者在协议上都是空结果,把后者说成前者会误导。三种情形分别表述:可达到且正常、不可达、凭据被拒。
- 已确认不等于已解决,应写成“活动且已由某人在某时确认”,不得弱化问题描述,也不得因过滤让已确认问题从计数中消失。
- 本技能严格只读,没有确认、关闭或抑制告警的写入路径。
- 指标历史、可用性与资产、SNMP trap、流数据、Prometheus/Grafana、SaaS 监控、设备当前状态等应分别使用其对应工具,不在本技能范围。
适用场景:日常巡检、故障时查询当前告警与持续时长、复盘历史问题与恢复时间。资料未提供安装命令、收费或价格信息。