14 配置导出/导入

概述

Zabbix 导出/import功能使得在不同的 Zabbix 系统之间交换各种配置实体成为可能。

该功能的典型使用场景:

  • 共享模板或网络拓扑图 - Zabbix 用户可以共享他们的配置参数
  • 将模板上传至 Zabbix Community templates。然后其他人可以下载该模板并在 Zabbix 中 import file
  • 与第三方工具集成 - 通用的 YAML、XML 和 JSON 格式使得与第三方工具和应用程序进行集成和数据导入/export成为可能
可导出/导入的内容

可以导出/导入的objects包括:

导出格式

可以使用 Zabbix Web 前端或 Zabbix API 导出数据。支持的 export 格式为 YAML、XML 和 JSON。

导出详情

  • 所有受支持的元素都会在单个文件中导出。
  • 从链接模板继承的主机和模板实体(监控项、触发器、图形、发现规则)不会被导出。 在一个主机级别上对这些实体所做的任何更改(例如更改了监控项间隔、修改了正则表达式或向低级别自动发现规则添加了原型)在导出时将会丢失;在导入时,链接模板中的所有实体都会按照原始链接模板重新创建。
  • 由低级别自动发现创建的实体以及依赖它们的任何实体都不会被导出。例如,为LLD规则生成的监控项而创建的触发器不会被导出。
  • 当导出的主机/模板包含支持超时的实体时,如果这些实体配置了自身的超时值,则超时值也会被导出。

关于导入的详细信息

  • 导入操作会在遇到第一个错误时停止。
  • 在导入过程中更新现有图像时,"imagetype" 字段将被忽略,即无法通过导入更改图像类型。
  • 在使用“删除缺失”选项导入 主机/templates 时,如果 import file 中不存在某些 主机/模板宏,则这些宏将在导入后从 主机/模板中删除。
  • 对于 监控项、触发器、图表、发现规则、监控项原型、触发器原型、图表原型的空标签,它们没有实际意义,等同于未设置标签。
  • 如果导入的 主机/模板实体配置了各自的超时时间,则将应用这些时间;否则将应用 proxy/全局超时时间。
  • 导入支持 YAML、XML 和 JSON 格式,import file 必须具有正确的 file 扩展名:YAML 使用 .yaml 或 .yml,XML 使用 .xml,JSON 使用 .json。请参阅 compatibility information 了解支持的 XML 版本。
  • 导入仅支持 UTF-8 编码的配置文件(包含或不包含 BOM);其他编码格式(如 UTF16LE、UTF16BE、UTF32LE、UTF32BE 等)将导致 import conversion 错误。

YAML基础格式

YAML export 格式包含以下节点:

  • Zabbix YAML 的根节点 export
  • 导出 version
zabbix_export:
         version: '7.0'

其他节点依赖于导出的 objects。

XML格式

XML export 格式包含以下标签:

  • XML 文档的默认头部
  • Zabbix XML export 的根标签
  • 导出 version
<?xml version="1.0" encoding="UTF-8"?>
       <zabbix_export>
           <version>7.0</version>
       </zabbix_export>

其他标签取决于导出的 objects。

JSON格式

JSON export 格式包含以下 objects:

  • Zabbix JSON 的根 object export
  • 导出 version
{
           "zabbix_export": {
               "version": "7.0"
           }
       }

其他 objects 依赖于导出的 objects。