aeMonitor /GWMonitor-Japaneseコミュニティーサイト

Register Now | Log in | Lost Password

フォーラム

フォーラム一覧   -   トピック一覧
   GroundWork Monitor 一般
     check_proclについて
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 トピック
niida
投稿日時: 2011-10-31 18:21
新米
登録日: 2011-7-1
居住地: Kawasaki
投稿: 5
check_proclについて
こんにちは、いつもお世話になっております。

local_mem_javaやlocal_mem_httpd等、check_procl.shコマンドが全てunknownになってしまいました。

nagios>nagios eventsを見ると、
「I am missing an important component : bash」
が表示されています。

以前は正常に表示されていたので、当時からの変化点で気になるのはbashをバージョンアップしたことです。

check_procl.shのソースを確認すると、58行目からの下記部分になります。
=================================
verify_dep() {
needed="bash cut egrep expr grep let ps sed sort tail test tr wc"
for i in `echo $needed`
do
type $i > /dev/null 2>&1 /dev/null
if [ $? -eq 1 ]
then
echo "I am missing an important component : $i"
echo "Cannot continue, sorry, try to find the missing one..."
exit 3
fi
echo $?
done
}
=================================
typeコマンドでコマンドの有無をチェックしていますが、
「type $i > /dev/null 2>&1 /dev/null」の部分が悪さをしているみたいです。

手元にある、bash ver3.xのマシンで実行すると、変数「$?」には0が戻ります。
bash ver4.2のマシンで実行すると、変数「$?」には1が戻りました。

bashの変更履歴を見てみましたが、私の乏しい英語力では仕様変更があるかどうかを確認できませんでした。

この現象が私だけなのかどうか確認したくてこちらに書き込ませて頂きました。

なお、下記の通り変更することで動作しています。
「type $i > /dev/null 2>&1 /dev/null」

「type $i > /dev/null 2>&1」
hiro
投稿日時: 2011-11-1 11:22
一人前
登録日: 2008-6-5
居住地:
投稿: 75
Re: check_proclについて
niidaさん、こんにちは。

私の動作環境は Bash 3.2.25 なので、ご質問には回答できかねますが、記入されている内容を読む限り bash の仕様変更による問題としか考えられません。

「type $i > /dev/null 2>&1 /dev/null」という記述の末尾の /dev/null の意味が不明(というか余分)なので、bash4.2でコマンド形式チェックを厳密にしたために引っかかるようになった可能性がありますね。

この問題は Nagios PlugIn の潜在問題がBashをアップデートしたために顕在化したものだといえます。
niidaさんの修正で正解だと思います。

niida
投稿日時: 2011-11-7 9:50
新米
登録日: 2011-7-1
居住地: Kawasaki
投稿: 5
Re: check_proclについて
hiroさん
ありがとうございます。
このまま運用してみたいと思います。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を