[[Nagios]]

~
*概要 [#q4a4772b]
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.結果が表示されます。

~
~
*ログに書き出す場合 [#pd14e200]
以下のようにスクリプトの内容を囲うことでログに出力しながら、標準出力にも表示させることが可能です。
~

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



~
~

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS