SuperAPI AI 工具集

zabbix-api

编程与开发

查看项目

更新于 10-16 06:21

技能介绍

用途:该技能用于通过 Zabbix API 和官方 Python 库 zabbix_utils 自动化 Zabbix 监控系统的日常运维,例如管理主机、模板、监控项、触发器、主机组,创建维护窗口,查询事件、问题与历史数据,以及批量导入主机。

主要能力:支持主机、模板、监控项、触发器、主机组的增删改查;模板 XML 导入;维护窗口创建;问题与事件查询;历史数据读取;通过 Sender 向 trapper 监控项推送数据;通过 Getter 查询 Zabbix agent。API 统一遵循 api.<object>.<method>() 形式,方法包括 get、create、update、delete。

使用方式:先安装依赖 pip install zabbix-utils --break-system-packages。认证可用用户名密码或 API token(Zabbix 5.4+ 推荐),例如 api = ZabbixAPI(url="https://zabbix.example.com") 后 api.login(token="your_api_token"),并用 api.api_version() 验证连接。也可通过环境变量 ZABBIX_URL、ZABBIX_TOKEN 配置。

适用场景:批量创建主机、按模板关联主机、按模式禁用触发器、查找未关联指定模板的主机、导出主机与模板、创建维护窗口等自动化任务。

限制与注意事项:history.get 必须传入与监控项 value_type 匹配的 history 参数,否则可能静默返回空;大查询避免使用 output="extend",应显式指定字段;触发器表达式引用主机名与 key,重命名会破坏表达式;token 认证与 logout 混用会使永久 token 失效;massadd 可能重复添加,massupdate 会替换未包含的主机;maintenance.create 传入过去的 active_since 会被接受但不会追溯抑制已触发告警。建议使用 API token、限制输出字段、使用 search/filter、处理分页、批量操作并做好异常处理与幂等检查。