- PR -

nagios ステータスマップのポップアップ文字化けに関して

1
投稿者投稿内容
hiro
会議室デビュー日: 2008/11/28
投稿数: 3
投稿日時: 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の再インストールが必要でしょうか?

以上、何卒よろしくお願いいたします。
hiro
会議室デビュー日: 2008/11/28
投稿数: 3
投稿日時: 2008-11-28 15:54
追記させて頂きます。

環境:
CentOS5.2
Nagios-3.0.5

なお、文字化けは日本語の部分にのみ発生する現象です。


色々試してみたのですが、
ステータスマップのポップアップだけでなく、ホスト名に
日本語を使用していると、ホスト名をクリックすると
「このホスト情報を閲覧する権限が無いようです」との
メッセージが出ます。
実際日本語オブジェクトにマウスカーソルを合わせた際に
ブラウザ下部に表示されるアドレスのホスト名が文字化け
を起こしています。

これは当方だけの現象なのでしょうか?
それともインストールの失敗なのでしょうか?

Nagiosを利用されている方がいらっしゃいましたら、
何卒宜しくお願いします。

Junrei
会議室デビュー日: 2001/12/06
投稿数: 7
投稿日時: 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

スキルアップ/キャリアアップ(JOB@IT)