如何导出Zabbix中dev环境服务器配置并导入新部署的Zabbix实例
Zabbix跨实例迁移Dev环境主机配置方案
方案1:Web端批量导出导入(最简便,适合中小规模配置)
- 首先在原有Zabbix实例中给所有Dev环境的主机统一打dev环境的标签,或者放到同一个名为Dev的主机组里,方便批量筛选
- 进入「配置」-「主机」页面,筛选出所有Dev环境的主机,勾选要迁移的条目
- 点击页面底部的「导出」按钮,选择导出格式为XML,系统会自动下载包含所有选中主机的配置文件,配置里会包含关联的模板、宏、监控项、触发器、告警规则等关联配置
- 提前在新Zabbix实例中导入原有实例里Dev主机用到的所有公共模板、自定义模板、告警媒介、用户组权限这些依赖配置,注意依赖配置必须先导入,否则主机会导入失败
- 进入新Zabbix实例的「配置」-「主机」页面,点击「导入」按钮,上传刚才导出的XML文件,勾选需要导入的配置项(主机、监控项、触发器、模板关联等),执行导入即可
方案2:API批量导出导入(适合大规模主机,或需要自动化迁移的场景)
- 调用原有Zabbix的
host.get接口,筛选出Dev环境的所有主机配置,示例接口请求参数可以过滤主机组ID或者标签:
{ "jsonrpc": "2.0", "method": "host.get", "params": { "output": "extend", "groupids": "Dev主机组的ID", "selectInterfaces": "extend", "selectParentTemplates": "extend", "selectMacros": "extend" }, "auth": "你的API鉴权token", "id": 1 }
- 把接口返回的主机配置做适配(比如如果新实例的模板ID和旧实例不一样,提前替换成新实例对应模板的ID)
- 调用新Zabbix实例的
host.create接口批量创建主机即可
注意事项
- 导入前必须确认新旧实例的Zabbix大版本一致,跨大版本导出的XML文件兼容性很差,容易导入失败
- 如果主机使用了自定义宏或者自定义告警规则,导出时记得勾选对应的配置项,避免遗漏
- 导入完成后建议随机抽几台Dev主机检查监控数据上报是否正常,确认agent端的Server地址配置已经改成新Zabbix的IP,避免数据还是上报到旧实例
内容的提问来源于stack exchange,提问作者idiot one
相关产品推荐
相关产品推荐

