自分の運営する複数のサービスURLが正常に表示されているかを、自動で定期的に確認し、404などエラーが返ってきた場合は、メールで通知したいと思っています。


----------------------------
例:

http://www.yahoo.co.jp
http://youtube.jp

の2つのURLをチェックして異常があれば、メールで通知。
----------------------------

サーバーインストール型アプリケーションでも、shellスクリプトをcron登録でも何でもよいので、上記方法を実現する方法を教えて下さい。

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2007/11/02 03:56:46
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答3件)

id:toohigh No.1

回答回数291ベストアンサー獲得回数37

ポイント27pt

#!/bin/sh

LANG=C wget -o /dev/stdout --spider http://TARGET.URL/FOO | grep ERROR > /dev/null

if [ $? -eq 0 ]; then

echo "TARGET.URL is not OK" | mail -s "URL ERROR" maildest@example.jp

fi

・・・みたいなのを cron 登録、とかはいかがでしょうか。注意事項はこれくらいかな。

  • wget が必要
  • チェック対象URL 、mail コマンドのオプションなどについては適当に書き換える
id:y-kawaz No.2

回答回数1422ベストアンサー獲得回数226

ポイント27pt

cronに以下のように登録しておくとかでどうでしょうか?

* * * * * url='http://www.yahoo.co.jp/'; wget -q -O /dev/null "$url" || echo "$url" | mail -s 'SITE DOWN ALERT' foo@example.jp

wget が失敗したときのみ || の後ろが実行されてメール送信が行われます。

ただこれだと安定しているサイトなら良いですが、重いサイトだと誤報が出る可能性があります。その点に関しては運用してみてから改善する必要が出てくるかも知れません。

id:b-wind No.3

回答回数3344ベストアンサー獲得回数440

ポイント26pt

@IT:NagiosでWebサーバを頑丈にする方法

Nagios

各種アプリケーションの死活監視ができます。


アラーとメールの送信など、非常に便利ですがサイト数によってはオーバースペックかも?(設置がちょっと大変)

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません