このページで
12 設定のエクスポート/インポート
概要
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: '8.0'
その他のノードはエクスポートするオブジェクトに依存します。
XML形式
XMLエクスポート形式には以下のタグが含まれます。
- XMLドキュメントのデフォルトヘッダー
- Zabbix XMLエクスポートのルートタグ
- エクスポートバージョン
<?xml version="1.0" encoding="UTF-8"?>
<zabbix_export>
<version>8.0</version>
</zabbix_export>
その他のタグはエクスポートされるオブジェクトによって異なります。
JSON形式
JSONエクスポート形式には以下のオブジェクトが含まれます。
- Zabbix JSONエクスポートのルートオブジェクト
- エクスポートバージョン
{
"zabbix_export": {
"version": "8.0"
}
}
他のオブジェクトはエクスポートされたオブジェクトに依存します。