zabbix-jp リリース zabbix-web-1.8.3-1.el5.JP.i386.rpm で日本語マップの設定が出来ない
zabbix ファンの皆さん、こんにちは。
zabbix-1.8.3 がリリースされて PHP フロントエンドも標記のファイルをダウンロードして先にインストールしていた zabbix-1.8.2-1 からアップデートしたのですが、ロケールを日本語設定にしていると設定→マップの設定が上手くできませんでした。問題点は以下の2点です。(ロケールが en_gb の場合は問題なく設定出来ます)
? 設定->マップ->ターゲットマップ選択後のマップ設定画面で画面左上にある「アイコン」の+ボタンを押すと、イメージの取得:アイコンデータがみつかりませんというエラーメッセージが表示されて、アイコンが追加できません。
? 上記のマップ設定画面で画面上のアイコンを二つ選択し、画面左上にある「リンク」の+ボタンを押してもリンクが追加されず、グレーになった画面の最下段に、リンクの付かないアイコンのみが表示されてしまいます。
原因を解析したところ、これらの処理はブラウザのJavaスクリプトが実行して?はサーバの sysmap.php に、?は map.php に POST リクエストを送信するのですが、その時送信するパラメータの value ではなく、パラメータの変数名を日本語で送ってしまうためサーバのPHPアプリが正しくパラメータを受信できないためであることが分かりました。これを修正するには、include/locales/ja_jp.inc.php
の以下の2行の内容を日本語から元の英語に戻してやることによって解決できます。
? 1141行目の
'S_NEW_ELEMENT'=>'新規要素', ⇒ S_NEW_ELEMENT'=>'New element',
? 1574行目の
'S_SELECT'=>'選択', ⇒ 'S_SELECT'=>'Select',
に修正します。
ロケール設定は何でも日本語に翻訳すればいいと言うものでもないようですね。
PS. 別の解決策を見つけましたので、[url=http://www.zabbix.jp/modules/newbb/viewtopic.php?viewmode=thread&topic_id=601&forum=5&post_id=2984#forumpost2984]このスレッドの4番目の投稿[/url]を参照して下さい。(記事投稿者による修正)
TNK - 投稿数: 4731
私の手元の環境では、どちらも日本語のままで、アイコンの追加もリンクの作成も可能です。
環境としては、CentOS 5.5標準のApacheやPHPを利用し、ブラウザはFirefox 3.6やIE 8を利用しています。
vmoritaさんはどのような環境を利用されていますか?
--- 追記 ---
試しに、zabbix-1.8.3-1.JPのソースRPMをベースに、Fedora 13上でRPMをビルドし稼動させてみました。
具体的には、
httpd-2.2.16-1.fc13
php-5.3.3-1.fc13
mysql-server-5.1.48-2.fc13
の環境ですが、グラフの日本語の文字化けは発生していません。
日本語のままでも問題なくマップへのアイコンの追加はできますし、リンクも作成することができます。
つまり、phpのバージョンがCentOS 5の標準である5.1.6ではなく、5.3.3のような新しいバージョンであっても、設定や組み合わせを工夫することによって、問題なく日本語のままでも利用できる可能性があると思われます。
もしも、PHPなどを独自にソースから導入されているのであれば、Fedoraでのconfigureのパラメータなども参考に確認されてみてはいかがでしょうか?
この作業を行っていてソースRPM内のパッチに問題を見つけました。
RHEL5やCentOS5では問題ないかもしれませんが、Fedora 13では、zabbix-1.8.3-graph_font.patchがそのままでは適用できませんでした。
パッチの中身のdiffがrc版でのdiffを利用しているため、タブやスペースの違いでFedora 13のpatchコマンドでは「hunks FAILED」になってしまいます。
kodai - 投稿数: 1341
こんにちは。
ちょうど1.8.2-1から1.8.3-1へアップグレードした環境でマップ作成を行ったのですが、こちらの環境でも特に問題は起きませんでした。
環境としてはCentOS 5.xで、ApacheやPHPはOS付属のもの、ブラウザはSafariを使っています。
何かしら環境特有の問題でしょうか...
vmorita - 投稿数: 5
TNKさん、kodaiさん、早速の返信ありがとうございます。
その後当方でも色々調査したところ、先の投稿「[url=http://www.zabbix.jp/modules/newbb/viewtopic.php?topic_id=602&forum=5]zabbix-1.8.3 グラフの日本語処理について[/url]」に関連して、サーバの PHP の環境設定で、SJISの使用がデフォールトになっており、mbstring の input translation が有効になっているため、UTF-8 でPOSTされたデータが SJIS 変換されて PHP アプリに渡されるためのエラーであることが判明しました。
サーバが zabbix 専用で PHP を yum でインストールされた方には関係ないと思いますが、サーバが他のアプリと共用で、PHP 環境が SJIS デフォールトとなっているような場合は、zabbix Web の動作環境を UTF-8 にするために、以下の内容を .htaccess に書いて Web の zabbix トップディレクトリに置くことで解決しました。
.htaccess ファイルの内容は以下の通り。
php_value mbstring.language Japanese
php_value mbstring.internal_encoding UTF-8
php_value mbstring.http_input auto
php_value mbstring.http_output UTF-8
php_value mbstring.substitute_character none
お騒がせしましたが、SJIS 環境なサーバをご利用の方に参考になればと思います。これからもよろしくお願い致します。
kodai - 投稿数: 1341
なるほど、PHP側のエンコード設定だったんですね。
情報共有いただきどうもありがとうございました!