用途:通过 Zabbix API 和官方 Python 库 zabbix_utils 自动化 Zabbix 监控运维,适合批量管理主机、模板、监控项、触发器、主机组、维护窗口,以及查询事件、问题和历史数据。
主要能力:支持主机、模板、监控项、触发器、主机组的增删改查;模板 XML 导入;维护窗口创建;问题与事件查询;历史数据读取;通过 Sender 推送 trapper 数据、通过 Getter 查询 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 配置。
适用场景:批量从 CSV 创建主机、查找未关联模板的主机、按描述批量禁用触发器、导出主机与模板、创建维护窗口等自动化任务。
限制与注意:资料未提供具体收费、平台支持范围或性能数据。建议优先使用 API token;查询时显式指定 output 字段,避免 output="extend";使用 search/filter 而非全量拉取后在 Python 过滤;大数据集注意 limit 与 offset;批量变更可用 massadd、massupdate;API 调用应包裹 try/except 处理 APIRequestError;创建前先检查对象是否存在以保证幂等。历史数据查询时 history 参数必须与监控项的 value_type 一致。