14. 設定のエクスポート/インポート

概要

Zabbixのエクスポート/インポート機能により、Zabbixシステム間で様々な設定情報を共有することができます。

この機能のよくある使用例:

  • テンプレートやネットワークマップの共有 - Zabbixユーザ同士での設定パラメータの共有
  • Zabbixコミュニティテンプレートにテンプレートをアップロードする - 他のユーザはテンプレートをダウンロードし、そのファイルをZabbixにインポートできます。
  • サードパーティツールとの統合 - 汎用的なYAML,、XML、JSON形式を使用することで、データのインポート/エクスポートを行ってサードパーティのツールやアプリケーションと統合することができます。
エクスポート/インポートできるもの

エクスポート/インポートできるオブジェクトは次の通りです。

エクスポート形式

ZabbixのWebインターフェースまたはZabbix APIを使用してデータをエクスポートすることができます。サポートされているエクスポート形式はYAML、XML、JSONです。

エクスポートの詳細

  • サポートされているすべての要素は1つのファイルにエクスポートされます。
  • リンクされたテンプレートから継承されたホストおよびテンプレートのエンティティ(アイテム、トリガー、グラフ、ディスカバリルール)はエクスポートされません。 ホストレベルでそれらのエンティティに加えられた変更(アイテムの監視間隔の変更、正規表現の修正、またはローレベルディスカバリルールへのプロトタイプの追加など)は、エクスポート時に失われます。インポート時には、リンクされたテンプレート由来のすべてのエンティティが、元のリンクされたテンプレートと同じ状態で再作成されます。
  • ローレベルディスカバリによって作成されたエンティティと、それらに依存するすべてのエンティティはエクスポートされません。たとえば、LLDルールによって生成されたアイテム用に作成されたトリガーはエクスポートされません。
  • エクスポートされたホスト/テンプレートにタイムアウトをサポートするエンティティが含まれている場合、それらのエンティティに個別のタイムアウトが設定されていれば、そのタイムアウト値もエクスポートされます。

インポートに関する詳細

  • インポートは最初のエラーで停止します。
  • イメージのインポート時に既存のイメージを更新する場合、"imagetype" フィールドは無視されます。つまり、インポートによってイメージタイプを変更することはできません。
  • "Delete missing" オプションを使用してホスト/テンプレートをインポートする場合、インポートファイルに存在しないホスト/テンプレートマクロは、インポート後にホスト/テンプレートから削除されます。
  • アイテム、トリガー、グラフ、discoveryRules、itemPrototypes、triggerPrototypes、graphPrototypes の空のタグには意味がありません。つまり、存在しない場合と同じです。
  • インポートされたホスト/テンプレートのエンティティに独自のタイムアウトが設定されている場合はそれが適用され、設定されていない場合はプロキシ/グローバルのタイムアウトが適用されます。
  • インポートは YAML、XML、JSON をサポートしており、インポートファイルには正しい拡張子が必要です: YAML は .yaml および .yml、XML は .xml、JSON は .json です。サポートされる XML バージョンについては、互換性情報 を参照してください。
  • インポートは UTF-8 エンコーディングの設定ファイルのみをサポートします(BOM の有無は問いません)。その他のエンコーディング(UTF16LE、UTF16BE、UTF32LE、UTF32BE など)では、インポート変換エラーが発生します。

YAMLの基本形式

YAMLエクスポート形式には、次のノードが含まれます。

  • Zabbix YAMLエクスポートのルートノード
  • エクスポートのバージョン
zabbix_export:
  version: '7.0'

その他のノードは、エクスポートされるオブジェクトに依存します。

XML形式

XMLエクスポート形式には、次のタグが含まれます。

  • XMLドキュメントのデフォルトヘッダー
  • Zabbix XMLエクスポートのルートタグ
  • エクスポートバージョン
<?xml version="1.0" encoding="UTF-8"?>
<zabbix_export>
    <version>7.0</version>
</zabbix_export>

その他のタグは、エクスポートされるオブジェクトによって異なります。

JSON形式

JSONエクスポート形式には、以下のオブジェクトが含まれます。

  • Zabbix JSONエクスポートのルートオブジェクト
  • エクスポートバージョン
{
    "zabbix_export": {
        "version": "7.0"
    }
}

その他のオブジェクトは、エクスポートされたオブジェクトに依存します。