2008年8月20日水曜日

と言う事で、Linuxサーバ監視スクリプトを実験してみる。

Fedora9サーバが落ちまくるので、このままではいかんという事で監視スクリプトを仕込む事を検討しはじめた。と言っても、現時点では後述するように全くの実験段階。

あっFerodaの名誉のために一応付け加えておくと熱暴走だと思ってます。安い古いPCをサーバに使っている自分が悪い(^^;

参考にさせていただいた(というか、そのまま使わせて頂きました。)のは、Slack kingdomさんのping監視スクリプト

pinger.sh

#!/bin/sh

LOG_PATH="/var/log/ping"

if ! ping -c 1 $1 2>&1 > $LOG_PATH/$1.log; then
  sleep 1
  if ! ping -c 1 $1 2>&1 > $LOG_PATH/$1.log; then
    if [ ! -f $LOG_PATH/$1.lock ]; then
      /bin/mail -s "$1 ping faild" $2 < $LOG_PATH/$1.log
      touch $LOG_PATH/$1.lock
    fi
  fi
else
  if [ -f $LOG_PATH/$1.lock ]; then
    /bin/mail -s "$1 ping up!" $2 < $LOG_PATH/$1.log
    rm -f $LOG_PATH/$1.lock
  fi
fi


mkdir /var/log/ping
として

crontab -eで

0-59/5 * * * * /root/pinger.sh localhost mymail@mydomain

と仕込む。これで、5分毎にpingを発行して、lostになると一度だけメールを送信し、復活するとその時点でメールを送信するようになる。

実際には、別なサーバから実行しないと意味がないんだが、現時点では、localhostを監視しているので、実際には意味がない。という事で「実験してみる」というタイトルとした。

少なくとも、これで、5分の精度でサーバが落ちた時間は確定出来る。って意味ないな~
監視用サーバの構築を考えなければ。バックアップサーバとしても意味があるしね。

Slack kingdomさん、どうもありがとうございました。

0 件のコメント: