テンプレートのインポートについて

よろしくお願い致します。

全く別のシステムでエクスポートされたテンプレートがあるのですが
それをvmware 上でローカルで稼働している zabbix にインポートしたいと考えています。

目的については本格的な運用ではなく、アイテムやトリガーの設定が
どのようになっているのか確認できれば良いという程度です。

しかしGUIからインポートを実行しても、メニュバー以外の領域が
空白の画面になり、それ以降何も起きません。
テンプレートも全くインポート出来ていないようです。

インポートしようとしているテンプレートは
redhat系のLinux で運用されていたものでDBはPostgresです。
それに対しローカル環境のシステムはredhat系のLinuxでDBはmysql です。

インポートするには、同じ環境下でないとデータの移行が出来ないのでしょうか?
素人のため低レベルな質問ですが、よろしくお願い致します。

コメント表示オプション

お好みのコメント表示方法を選び「設定の保存」をクリックすると変更が反映されます。
ユーザー TNK の写真

インポートするZabbixのバージョンをエクスポートしたときの詳細
なバージョンときちんと合わせるようにしてみてください。

ユーザー music007 の写真

TNK 様

ご指導ありがとうございました。

パッケージのバージョン自体を同一の物にするという認識で良いでしょうか?

私は勉強を兼ねたテスト環境なので、全く問題ないのですが
ソフトウェア自体のバージョンをアップ/ダウングレードするとなると
それなりに大がかりな作業になるような気がします。
特に実際の本番環境などであれば、そう簡単には出来ない気が・・・

再度の確認ですがzabbix-server 等のパッケージを
インストールし直すとの認識で良いのでしょうか?

関係ないかも知れませんが先ほど申し上げました、
インポートできなかったファイルの先頭には
Version 2.0 と記載されていました。
こちらは全く関係ないでしょうか?

<?xml version="1.0" encoding="UTF-8"?>
<zabbix_export>
<version>2.0</version>

よろしくお願い致します。

ユーザー TNK の写真

Zabbixのバージョンを合わせてください。
両方の環境がRHEL上であるならば、パッケージのバージョンも同
じになるでしょう。

本番環境に影響を与えたくないということであれば、別の環境を
用意して、そこにエクスポートしたバージョンに合わせたバージ
ョンで環境を構築してください。

内容を確認するだけであれば、ZabbixサーバやZabbixエージェント
のサービスを起動する必要はありません。

データベースを構築して、Webインターフェースからアクセスして
インポートを実行してみてください。

ユーザー music007 の写真

TNK 様

ご指導ありがとうございました。

DBを用意しブラウザからインポートしてみたのですが
エラーが出てしまいインポートが出来ませんでした。

zabbix の範囲外からも知れませんが、もし宜しければご教示頂けないでしょうか?

Vmware 上のLinuxでのソフトのバージョンは以下の通りです。

php:5.1.6
phpMyAdmin:2.11.11.3

---------------------------------------------------------
ERROR: 無効な句読点文字です @ 1
STR: <?
SQL: <?xml version="1.0" encoding="UTF-8"?>
<zabbix_export>
<version>2.0</version>

実行した SQL:

<?xml version="1.0" encoding="UTF-8"?>
<zabbix_export>
<version>2.0</version>

MySQLのメッセージ: ドキュメント
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '<?xml version="1.0" encoding="UTF-8"?>
<zabbix_export>
<version>2.0</version' at line 1
[ 戻る ]

ユーザー TNK の写真

まずは、エクスポートしたZabbixの詳細なバージョンと、インポー
トしようとされたZabbixの詳細なバージョンをお教えください。

可能であれば、利用されているLinuxのディストリビューションと
詳細なバージョンもお教えください。

ユーザー music007 の写真

TNK様

ご連絡ありがとうございます。
Versionは以下の通りです。

//エクスポート側
OS:Sientific Linux 6.3
Zabbix:2.0.5-1
DB:postgres

//インポート側
OS:Sientific Linux 5.8
Zabbix: 2.0.15-1
DB:mysql

よろしくお願いいたします。

ユーザー TNK の写真

エクスポート元と先に近い環境を新規に構築して確認してみました。

ZabbixのWebインターフェースからちゃんとインポートされている
のであれば、Webサーバのエラーログにエラーが出力されていませ
んか?

結論から言ってしまうと、Zabbix 2.0.15では、PHP 5.2.11以降で
追加された関数を利用してしまっているようです。
SL 5では、PHPのバージョンが、5.1.6あたりだと思われますので、
その環境ではインポートすることができません。

SL 6以降のPHPのバージョンがより新しい環境でインポートを試し
てみてください。

ユーザー music007 の写真

お世話になっております。

質問なのですがzabbixのバージョンが合っていれば
インポート出来る可能性が高いでしょうか?
またDBの種類も併せた方が良いでしょうか(mysql と postgres)?

OSの再インストールは出来ませんが、もし希望があるようなら
zabbixの再インストールをしてみようかと思います。

※ハード構成やNIC構成などは全く違います。
例えば、エクスポート側ではeth2 があってもインポート側ではないなど・・・
こんな状況でも問題なくインポートできるのでしょうか?

ユーザー fripper の写真

SL 5.x/6.x って、RHEL/CentOS 互換だったかと記憶しています

http://repo.zabbix.com/zabbix/2.0/rhel/5/
http://repo.zabbix.com/zabbix/2.0/rhel/6/

をそれぞれ利用してZabbixサーバ側を構築された、と考えてよろしいでしょうか?

ソースコードからビルド、公式以外のリポジトリを利用、
OS バージョンを気にせず、全く同一のパッケージを無理やり入れた‥等
インストール手順に問題はありませんか?

「Zabbix のバージョンを合わせる」の件ですが、Zabbix のメジャーバージョン (2.0/2.2/2.4 等) さえ一致していれば
テンプレートのインポート・エクスポートに際する互換性としては特に支障はないはずです
#もちろん、同一メジャーバージョン内で、できるだけ新しいリリースを利用してもらうほうが
#処理の不具合等が修正されているので、新しいリリースがオススメです

提示頂いているエラーメッセージから見ると、「インポート作業」の手順をそもそも間違えてらっしゃいませんか?

zabbix のテンプレートの xml ファイルは、zabbix の WebUI の「設定」→「テンプレート」→「インポート」ボタンで
インポートするのですが‥

提示されているエラーメッセージからすると、phpMyAdmin の DB インポート処理で、DB ダンプファイルをインポートする部分に
Zabbix のテンプレートの xml ファイルを与えているようにも見えるのですが‥

ユーザー music007 の写真

>SL 5.x/6.x って、RHEL/CentOS 互換だったかと記憶しています
>それぞれ利用してZabbixサーバ側を構築された、と考えてよろしいでしょうか?

性格には、SL6.x で運用されていたZabbix があるのですが
そのエクスポートされたファイルしたか当方の手元にはありません。
その内容を確認するためSL5.x(Vmware)の環境でサクッと見て見ようと思ったしだいです。

>ソースコードからビルド、公式以外のリポジトリを利用、
>OS バージョンを気にせず、全く同一のパッケージを無理やり入れた‥等
>インストール手順に問題はありませんか?

SL6.x はrpm にて入れていると思われます。
SL5.x のローカル環境では気軽にyum で入れました。
ローカルの方はVmware を2 台起動して
Server と Agent 側で監視テストなどは問題なく出来ています。

>提示頂いているエラーメッセージから見ると、「インポート作業」の手順をそもそも間違えてらっしゃいませんか?
>zabbix のテンプレートの xml ファイルは、zabbix の WebUI の「設定」→「テンプレート」→「インポート」ボタンで
インポートするのですが‥

これについては上記の方法で設定しています。
実行しても画面の空白になり更新されず、何も起きません・・

よろしくお願い致します。

ユーザー TNK の写真

ERROR: 無効な句読点文字です @ 1
STR: <?
SQL: <?xml version="1.0" encoding="UTF-8"?>
<zabbix_export>
<version>2.0</version>

このエラーは、何のどこの画面やログファイルで出力されたのですか?

ユーザー KAZ の写真

music007

しかしGUIからインポートを実行しても、メニュバー以外の領域が
空白の画面になり、それ以降何も起きません。

この事象はPHPのメモリが足りなくて途中で止まったか、内部のSQL実行に時間がかかった為に処理が止まる場合になること多いですね。
Webサーバのログ見てみてください。

ユーザー TNK の写真

メモリ不足の場合もあるとは思いますが、上にも書かせて頂いた通
り、RHEL 5/CentOS 5/SL 5標準のPHP(5.1.6)を利用している場合、
Zabbix2.0.15では、PHP 5.2.11以降で追加された関数を利用してい
るのでエラーが発生し、メニューから下の部分が表示されない現象
は確認済みです。

OSを変更できないのであれば、Zabbixのバージョンを2.0.12以前に
することでとりあえず回避できるかもしれません。

そもそも何らかのエラーログが出力されているはずですから、KAZ
さんも書かれている通り、ログを確認してください。

SL標準の構成であれば、CentOSと同じだと思いますので、例えば、

 /var/log/httpd/error_log

などを確認してください。

ユーザー music007 の写真

皆さま、ご指導いただきましてありがとうございます。

ヴァージョンの互換による相性があるのですね。
そうであれば、やはりzabbixのバージョンを下げてみるのが
取りあえずは手っ取り早い方法でしょうか、、、

それからDBでのエラーの画像を添付させて頂きます。
(一部画像を切取りしております)

それからインポートした際に、/va/log/httpd/error.log には以下のエラーが出力されていました。

[Fri Oct 23 12:26:23 2015] [error] [client 192.168.145.129] PHピー Fatal error: Call to undefined function libxml_disable_entity_loader() in /usr/share/zabbix/include/classes/import/readers/CXmlImportReader.php on line 35, referer: http://192.168.100.129/zabbix/conf.import.php?rules_preset=template&sid=...
error_log (END)

ユーザー TNK の写真

インポートする側で入れ替えていいのであれば、Zabbixのバージョ
ンを下げるのが一番早いでしょう。

ご提示頂いたエラーログに

 Call to undefined function libxml_disable_entity_loader()

とありますよね。
つまり、libxml_disable_entity_loader() という関数が無いとい
うエラーで、PHPのマニュアルを確認して頂ければ記載されていま
すが、この関数は、PHP 5.2.11で追加された関数のようです。

SL 5の標準は、PHP 5.1.6ですのでこの関数が無いわけです。
他の機能には問題ないかもしれませんが、テンプレートのインポー
トはできなさそうです。

あと添付頂いた画像も拝見しましたが、これは、ZabbixのWebイン
ターフェースではないですよね?
Zabbix独自のフォーマットのXMLを、そのままphpMyAdminなどのツ
ールで利用することはできません。

ユーザー music007 の写真

TNK様

ありがとうございます。

以前に

>内容を確認するだけであれば、ZabbixサーバやZabbixエージェント
>のサービスを起動する必要はありません。
>データベースを構築して、Webインターフェースからアクセスして
> インポートを実行してみてください。

と教えて頂き、これはphpMyAdmin でアクセスすれば見れると
とんでもない勘違いをして、試してみたのが、サンプル画像です。

教えて頂いた上記の情報については、xml の中身を見れば確認できる
とか、そういう意味だったのですね、、、

実際に今は面倒ですが手動でファイルの中身を確認しています。

zabbixのバージョンを下げてリトライしてみたいと思います、

ユーザー TNK の写真

私が「Webインターフェース」と書かせて頂いたのは、
『Zabbixの』Webインターフェースのことです。