電子書籍の厳選無料作品が豊富!

Linux(CentOS5.6)でApacheでWEBサーバを構築予定なのですが、

サーバの稼働状態を監視する方法について教えてください。

いつもは、外部から監視するサービスを使って、サーバが落ちている場合はアラートメールを送信するというようなことをやっています。

具体的に、よく使っているのは、
http://www.cman.jp/network/
こちらのサービスです。

通常はこれで問題ないのですが、
今回はLAN(ローカル)で稼働するWEBサーバになり、こちらからのアクセスは一切できません。
ただし、LAN内からSMTPのポートを空けてもらい、メールの送信はできるようになる予定です。

そこで、サーバー自身が自分自身を監視して、httpが落ちていたら(正常に稼働していなかったら)アラートメールを送信する。
ということは可能でしょうか?

muninなどのサーバ監視ソフトで閾値を超えたらアラートメールを出す。
というのはあるようですが、稼働状態を監視するというのはできなそうです(僕が知らないだけかもしれません)


ご存知の方いらっしゃいましたら、よろしくお願いいたします。

A 回答 (2件)

うちでは監視の無料ツールとしては「nagios」を使用していますが、ご要望にはちょっと重いかもしれません。


たんにプロセス監視するだけでよければ、シェルなりperlなりでスクリプト書けば良いように思いますが。
たぶんメール送信まで入れても数十行で済むはずです。

この回答への補足

ありがとうございます。

とりあえず、下記のようなシェルを作ってみました。
一応サービスが停止していたら(実行中以外だったら)再起動してメールを送信します。
こんな感じでいいのかな?

---------------------------------------------------
#!/bin/sh
httpd_start=false
postgresql_start=false

if service httpd status | egrep "実行中"; then
# サービスが正常に稼働している場合
:
else
# サービスが停止している場合
service httpd restart
httpd_start=true
fi


if service postgresql status | egrep "実行中"; then
# サービスが正常に稼働している場合
:
else
# サービスが停止している場合
service postgresql restart
postgresql_start=true
fi


if $postgresql_start = true || $httpd_start = true; then
address="xxx@xxx.com"
fromaddress="xxx@xxx.co.jp"
date=`date +"%Y/%m/%d_%H:%M"`
subject="【警告】サービスを再起動しました。"
if $httpd_start = true; then
subject="${subject}(httpd)"
fi
if $postgresql_start = true; then
subject="${subject}(postgresql)"
fi
subject="${subject}(${date})"
nkf -j alert_mailbody.txt | mail -s `echo "$subject" | nkf -j | nkf -M` $address -- -f $fromaddress
fi
---------------------------------------------------

補足日時:2012/06/26 16:19
    • good
    • 0
この回答へのお礼

lowrider_2005さんの回答がヒントになりました。

ありがとうございました。

お礼日時:2012/07/14 22:35

「Webサーバ 死活監視 CentOS」で検索して、


http://www.mizusima-soft.co.jp/archives/493
なページを。

紹介されているmonitで対応でてきるんじゃないでしょうか?
# 使ったことはありませんが。


ARMのDebianで動かしていたbindが、いつの間にか死んでいる。
なんてことはありましたけどねぇ。
# DNSSEC関係でなにかおかしかったらしい。
# 内向けDNSでしたのでDNSSEC切ってしまいました。

この回答への補足

おお!これはよさそうですね!
ちょっと調べてみます。

補足日時:2012/06/15 13:13
    • good
    • 0
この回答へのお礼

便利そうなツールの紹介ありがとうございました。

今回は使用しませんでしたが、機会があったら使ってみたいと思います。


ありがとうございました。

お礼日時:2012/07/14 22:35

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!