エクスポートしたHost情報がインポートできない

Zabbixの環境を再構築しようと思い、エクスポートしたホスト一覧をインポートしようとしたところ成功や失敗メッセージ等が一切出ずにインポートできない状態が続いています。

ググッているとどうやら2MB以上のファイルの場合に起こるようなのですが、どうすればいいでしょうか?PHP設定(/etc/php.ini)を以下の値を変更してApacheを再起動したのですが依然としてできない状態です。
・upload_max_filesizeの値をデフォルト値(2MB)から10MB
・post_max_sizeを8MBから20MB

利用しているZabbixのバージョンは1.8.3です。
宜しくお願いします。

コメント表示オプション

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

利用されているディストリビューションがわかりませんが、RHELや
CentOSですと「php-xml」というパッケージ名であるPHPのXMLに関
する機能拡張モジュールをインストールされているかをご確認下さ
い。

そうでなければ、PHPの設定のmax_execution_timeの値はどの程度
に設定されていますか?
インポート処理でかかると思われる時間以上の時間を設定してみて
下さい。

ユーザー tommy の写真

TNK様

回答ありがとうございます。max_execution_timeをデフォルトの30秒から300秒にしてApacheを再起動して試したのですが、解決できませんでした。

ちなみにこの事象は最新版でも同様なことはあるのでしょうか?

最終的にはfripperさんの言うようにファイル分割してインポートせざるを得ないかなぁ〜と思っております。

ユーザー TNK の写真

何が原因なのか特定できていませんので、最新版で対応できている
かはわかりません。

インポートするXMLのサイズはどのくらいになっているのですか?

処理に時間がかかってしまっているのであれば、分割してインポー
トするのも対処方法としては有効だと思います。

ユーザー tommy の写真

TNK様

インポートサイズは2MBを少しでも超えると発生します。試したサイズは2.2MB、4.7MB、8.5MBのファイルです。

XMLの形式そのものは問題なく、上記のサイズを指定してインポートボタンを押して5秒前後くらいで今回の事象が発生します。

ユーザー TNK の写真

今まで頂いた情報には、Apacheのログに関しては明記されていなか
ったと思うのですが、Apacheのerror_logに何か出力されていませ
んか?

ユーザー tommy の写真

TNK様

error.logには一切何も出力されていません。
access.logにはインポート実行時に以下のログが出力されたのみです。クライアントはWindows 7(x86_64)のIEを利用してインポートを試みました。

他に確認すべき項目や設定事項等はありますでしょうか?

-------------------------------------
192.168.1.200 - - [09/Sep/2011:13:55:40 +0900] "POST /zabbix/hosts.php HTTP/1.1" 200 13864 "http://192.168.1.42/zabbix/hosts.php" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)"
192.168.1.200 - - [09/Sep/2011:13:55:44 +0900] "GET /zabbix/jsLoader.php?ver=1.8.3&lang=ja_jp HTTP/1.1" 200 332433 "http://192.168.1.42/zabbix/hosts.php" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)"
192.168.1.200 - - [09/Sep/2011:13:55:44 +0900] "POST /zabbix/jsrpc.php?output=json-rpc HTTP/1.1" 200 383 "http://192.168.1.42/zabbix/hosts.php" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)"

ユーザー kodai の写真

2MB以下のファイルであれば正常にインポートできているのでしょうか?

そうすると、原因はphpの設定周りだと思います。upload_max_filesizeの値がきちんと反映されているかどうか、確認されるのが良いと思います。

Zabbix Webインターフェースと同じ場所に、

<code><?php phpinfo() ?></code>

とだけ記載したphpinfo.phpを置き、ブラウザからアクセスしてupload_max_filesizeの値がきちんと反映されているか確認してみてください。

ユーザー tommy の写真

kodai様

Zabbixのトップフォルダ(/usr/share/zabbix)に上記のphpinfo.phpを配置してupload_max_filesizeの値を確認したところ、Local Valueの値は2Mで、Master Valueの値は10Mとなっていました。

ちなみに他の値ですがpost_max_sizeはLocal Valueが16M、Master valueが20M、max_execution_timeはどちらも300となっていました。

Zabbixに値を反映させるためにはどのようにすればよろしいのでしょうか?(PHPについては十分な知識を持っていないもので)

ユーザー TNK の写真

ZABBIX-JPが提供しているRPMを利用されているのであれば、

 /etc/httpd/conf.d/zabbix.conf

というファイルがありませんか?
この中のphp_valueで設定している設定を変更するか、必要に応じ
て追記してみて下さい。

同じサーバ上で、PHPを利用した他のシステムを稼動する際に影響
を与えないよう、Zabbix用のディレクトリ以下のみに固有の設定
を行うため、このような構成にしてあるようです。

ユーザー tommy の写真

TNK様

確かに/etc/httpd/conf.d/にzabbix.confがあり、そこには

php_value upload_max_filesize 2M

と記載してあったので値を10Mに変更してApacheを再起動したところphpinfo.phpでもLocal Valueの値が10Mとなりました。

この状態で再度ファイルをインポートしたところ無事正常に出来ました。

kodai様およびTNK様、色々ありがとうございました。

ユーザー tommy の写真

TNK様

前半の質問に回答していませんでした。
OSはCentOS 5.5 x86_64を利用しています。PHPのバージョンは5.1.6でphp-xmlもインストールされています。

ユーザー fripper の写真

エディタ等でXMLファイルをいくつかに分割して、
小分けにしてインポートする方法もあります

<code>
1.ホスト定義と基本設定部(アイテム・トリガー除く)
<zabbix_export>
<hosts>
<host name="〜" ...>
<各種設定項目> ... この部分の記述は残す
<items>
... この部分の記述は削除
</items>
<triggers>
... この部分の記述は削除
</triggers>
</host>
</hosts>
</zabbix_export>

2.ホストに対するアイテム定義のみ
<zabbix_export>
<hosts>
<host name="〜" ...>
<各種設定項目> ... この部分の記述は削除
<items>
... この部分の記述は残す
</items>
<triggers>
... この部分の記述は削除
</triggers>
</host>
</hosts>
</zabbix_export>

3.ホストに対するトリガー定義のみ
<zabbix_export>
<hosts>
<host name="〜" ...>
<各種設定項目> ... この部分の記述は削除
<items>
... この部分の記述は削除
</items>
<triggers>
... この部分の記述は残す
</triggers>
</host>
</hosts>
</zabbix_export>
</code>

のように、数個の xml ファイルに分けて、
ホスト定義→アイテム定義→トリガー定義→マップ等周辺定義
など、依存関係を踏まえた順序でインポートすれば
インポート可能ではないかと思います

ps..
まずは何らかの xml エディタソフトを使って、
インデントや体裁を整えてから処理することを
オススメします..