エクスポートしたHost情報がインポートできない
Zabbixの環境を再構築しようと思い、エクスポートしたホスト一覧をインポートしようとしたところ成功や失敗メッセージ等が一切出ずにインポートできない状態が続いています。
ググッているとどうやら2MB以上のファイルの場合に起こるようなのですが、どうすればいいでしょうか?PHP設定(/etc/php.ini)を以下の値を変更してApacheを再起動したのですが依然としてできない状態です。
・upload_max_filesizeの値をデフォルト値(2MB)から10MB
・post_max_sizeを8MBから20MB
利用しているZabbixのバージョンは1.8.3です。
宜しくお願いします。
TNK - 投稿数: 4742
利用されているディストリビューションがわかりませんが、RHELや
CentOSですと「php-xml」というパッケージ名であるPHPのXMLに関
する機能拡張モジュールをインストールされているかをご確認下さ
い。
そうでなければ、PHPの設定のmax_execution_timeの値はどの程度
に設定されていますか?
インポート処理でかかると思われる時間以上の時間を設定してみて
下さい。
tommy - 投稿数: 20
TNK様
回答ありがとうございます。max_execution_timeをデフォルトの30秒から300秒にしてApacheを再起動して試したのですが、解決できませんでした。
ちなみにこの事象は最新版でも同様なことはあるのでしょうか?
最終的にはfripperさんの言うようにファイル分割してインポートせざるを得ないかなぁ〜と思っております。
TNK - 投稿数: 4742
何が原因なのか特定できていませんので、最新版で対応できている
かはわかりません。
インポートするXMLのサイズはどのくらいになっているのですか?
処理に時間がかかってしまっているのであれば、分割してインポー
トするのも対処方法としては有効だと思います。
tommy - 投稿数: 20
TNK様
インポートサイズは2MBを少しでも超えると発生します。試したサイズは2.2MB、4.7MB、8.5MBのファイルです。
XMLの形式そのものは問題なく、上記のサイズを指定してインポートボタンを押して5秒前後くらいで今回の事象が発生します。
TNK - 投稿数: 4742
今まで頂いた情報には、Apacheのログに関しては明記されていなか
ったと思うのですが、Apacheのerror_logに何か出力されていませ
んか?
tommy - 投稿数: 20
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 - 投稿数: 1341
2MB以下のファイルであれば正常にインポートできているのでしょうか?
そうすると、原因はphpの設定周りだと思います。upload_max_filesizeの値がきちんと反映されているかどうか、確認されるのが良いと思います。
Zabbix Webインターフェースと同じ場所に、
<code><?php phpinfo() ?></code>
とだけ記載したphpinfo.phpを置き、ブラウザからアクセスしてupload_max_filesizeの値がきちんと反映されているか確認してみてください。
tommy - 投稿数: 20
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 - 投稿数: 4742
ZABBIX-JPが提供しているRPMを利用されているのであれば、
/etc/httpd/conf.d/zabbix.conf
というファイルがありませんか?
この中のphp_valueで設定している設定を変更するか、必要に応じ
て追記してみて下さい。
同じサーバ上で、PHPを利用した他のシステムを稼動する際に影響
を与えないよう、Zabbix用のディレクトリ以下のみに固有の設定
を行うため、このような構成にしてあるようです。
tommy - 投稿数: 20
TNK様
確かに/etc/httpd/conf.d/にzabbix.confがあり、そこには
php_value upload_max_filesize 2M
と記載してあったので値を10Mに変更してApacheを再起動したところphpinfo.phpでもLocal Valueの値が10Mとなりました。
この状態で再度ファイルをインポートしたところ無事正常に出来ました。
kodai様およびTNK様、色々ありがとうございました。
tommy - 投稿数: 20
TNK様
前半の質問に回答していませんでした。
OSはCentOS 5.5 x86_64を利用しています。PHPのバージョンは5.1.6でphp-xmlもインストールされています。
fripper - 投稿数: 495
エディタ等で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 エディタソフトを使って、
インデントや体裁を整えてから処理することを
オススメします..