Nagios


概要

Nagiosにて監視設定を追加する際、Nagiosサーバーで監視対象のサービスを一度実行してから設定ファイルに追加する場合に、一括して実行するスクリプトです。

基本的に結果が「OK」だったものだけを監視するという考えでgrepにて抜き出ししてます。
後は、sedコマンドにて、必要な項目(サービス名とOK、httpはステータスコード)のみを表示させてます。
表示しない結果は監視できない、使用していないサービスと考えてください。

シンプルなので、適当に修正して活用してください。

1.下記スクリプトを/usr/local/nasgios/libexec/に0-check-all.shなど適当な名前で保存する。

#!/bin/sh

## Nagiosのコマンド一括確認スクリプト


#!/bin/sh

cat << EOF
--------------------------------------------  
 $1 : Service Check Reslut
--------------------------------------------  
EOF

./check_ping -H "$1" -w 3000.0,80% -c 10000.0,100% -p 3 -t 3  | grep OK | cut -d' ' -f1,2  
./check_ssh -H "$1"  | grep OK | cut -d' ' -f1,2  
./check_ftp -H "$1"  | grep OK | cut -d' ' -f1,2  
./check_smtp -H "$1"  | grep OK | cut -d' ' -f1,2  
./check_pop -H "$1"  | grep OK |  cut -d' ' -f1,2  
./check_http -H "$1"  | grep OK | cut -d' ' -f1-5  
#./check_http -H "$1" -e 300,301,302 | grep "HTTP OK" | cut -d' ' -f1-5  

cat << EOF
--------------------------------------------  
 $1 : Port Check Reslut  
--------------------------------------------  
EOF
./check_tcp "$1" -p 21  | grep OK |  sed -e "s/|time=.*//g" | cut -d' ' -f1,2,9,10  
./check_tcp "$1" -p 22  | grep OK |  sed -e "s/|time=.*//g" | cut -d' ' -f1,2,9,10  
./check_tcp "$1" -p 25  | grep OK |  sed -e "s/|time=.*//g" | cut -d' ' -f1,2,9,10  
./check_tcp "$1" -p 53  | grep OK |  sed -e "s/|time=.*//g" | cut -d' ' -f1,2,9,10  
./check_tcp "$1" -p 80  | grep OK |  sed -e "s/|time=.*//g" | cut -d' ' -f1,2,9,10  
./check_tcp "$1" -p 110  | grep OK |  sed -e "s/|time=.*//g" | cut -d' ' -f1,2,9,10  
./check_tcp "$1" -p 443  | grep OK |  sed -e "s/|time=.*//g" | cut -d' ' -f1,2,9,10  
./check_tcp "$1" -p 587  | grep OK |  sed -e "s/|time=.*//g" | cut -d' ' -f1,2,9,10  
./check_tcp "$1" -p 1723  | grep OK |  sed -e "s/|time=.*//g" | cut -d' ' -f1,2,9,10  
./check_tcp "$1" -p 5432  | grep OK |  sed -e "s/|time=.*//g" | cut -d' ' -f1,2,9,10  

echo -e "\n"  
echo -e "Complete!!"  
echo -e "\n"


2.chmod u+x スクリプト名で実行権限付与
3.「./スクリプト名 サーバーIPアドレス」で実行。
4.結果が表示されます。



ログに書き出す場合

以下のようにスクリプトの内容を囲うことでログに出力しながら、標準出力にも表示させることが可能です。

{
スクリプトの内容
} 2>&1 | tee /tmp/test.log




トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2022-06-30 (木) 01:40:11