- - PR -
nagios ステータスマップのポップアップ文字化けに関して
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2008-11-28 11:19
いつも大変参考にさせて頂いております。
現在参照元を参考にさせて頂き、Nagiosを導入致しました。 設定自体は無事完了したのですが、 ステータスマップで監視対象オブジェクトにマウスカーソルを あてた際にポップアップされる、ホスト情報の「名前」、及び 「エイリアス」が文字化けしてしまいます。 ただし「親ホスト」は文字化けしていません。 原因の当たりをつけまして、 statusmap.cの『write_host_popup_text(host *hst)』 内の記述で、 ------------------------------------------------- printf("<tr><td class=\\\"popupText\\\">名前:</td> <td class=\\\"popupText\\\"><b>%s</b></td></tr>" ,escape_string(hst->name)); ← 文字化けする printf("<tr><td class=\\\"popupText\\\">エイリアス:</td> <td class=\\\"popupText\\\"><b>%s</b></td></tr>" ,escape_string(hst->alias)); ← 文字化けする printf("%s%s",(temp_hostsmember==hst->parent_hosts)?"":", ", html_encode(temp_hostsmember->host_name,TRUE)); ← 文字化けしない ------------------------------------------------- から、 escape_string関数を、html_encode関数に置き換えれば 文字化けを解消できるのでは、と考えています。 ここでお聞きしたいのですが、statusmap.cgiのみの再コンパイルは可能 でしょうか? Nagiosの再インストールが必要でしょうか? 以上、何卒よろしくお願いいたします。 |
|
投稿日時: 2008-11-28 15:54
追記させて頂きます。
環境: CentOS5.2 Nagios-3.0.5 なお、文字化けは日本語の部分にのみ発生する現象です。 色々試してみたのですが、 ステータスマップのポップアップだけでなく、ホスト名に 日本語を使用していると、ホスト名をクリックすると 「このホスト情報を閲覧する権限が無いようです」との メッセージが出ます。 実際日本語オブジェクトにマウスカーソルを合わせた際に ブラウザ下部に表示されるアドレスのホスト名が文字化け を起こしています。 これは当方だけの現象なのでしょうか? それともインストールの失敗なのでしょうか? Nagiosを利用されている方がいらっしゃいましたら、 何卒宜しくお願いします。 |
|
投稿日時: 2009-01-08 23:43
Nagios-3.0.5では、ホスト名(host_name)に日本語を記述して、Nagiosが起動できる
んですか? Nagios-2.xでは、エイリアス(alias)には日本語が記述できましたが、ホスト名 (host_name)はダメだったんですけどね。 でも、Nagios-2.xでもエイリアス(alias)に日本語を記述すると、ステータスマップ のポップアップで文字化けを起していましたが。 回答1.ステータスマップのポップアップでの文字化け対応について Nagios-2.xでは以下のように変更して文字化けが解消されました。 (邪道ですか?w) 変更前:,escape_string(hst->alias)); 変更後:,hst->alias); 回答2.statusmap.cgiのみの再コンパイル方法について 全体を再コンパイルしなくてもstatusmap.cのソースディレクトリでmakeすれば、 変更したソースの分だけ再コンパイルされます。 # cd ./nagios-3.0.5/cgi # make 再コンパイルされたstatusmap.cgiを/usr/local/nagios/sbinへコピーすればOK 回答3.「このホスト情報を閲覧する権限が無いようです」と表示される件 NagiosのCGIでは、存在しないホスト名を渡すと同様の現象が生じます。 http://URL/nagios/cgi-bin/extinfo.cgi?type=1&host=存在しないホスト名 ↓ 「このホスト情報を閲覧する権限が無いようです」と表示される。 やはり、日本語のホスト名というのがNagiosに認識されていないのでは? もしくは、文字化けしたホスト名がCGIに渡されるので(そんなホスト名は存在しな いので)、上記のような表示がされるのではないでしょうか? |
1