WEBサイトのHTTP定期監視

自社管理しているサイトを、別のCentOSサーバーから定期的に監視して、エラー時はメールを送るように設定。

0.前提

  • wgetコマンドがインストール済み
  • サーバーからのメール送信ができること ※迷惑メールにならないこと
  • 外部からの監視として、別センターのサーバーを利用

※迷惑メールにならない対策は以下

1.作業内容

監視用のサーバーにて、以下作業。今回使ったのはCentOS7.9。

1)チェック用ユーザー追加

adduser checker

2)checkerユーザーにて作業

su - checker

3)コマンド作成

mkdir bin
cd bin
vi bat_site_check.sh

以下のような内容でチェック用コマンドを作る。

#!/bin/sh
#

# site1.xxx.com
wget -t 3 -T 30 --spider "https://site1.xxx.com/" || date | mail -s "【site1.xxx.com】Check Error" xxxxxx@xxxx.com

# site2.xxx.com
wget -t 3 -T 30 --spider "https://site2.xxx.com/" || date | mail -s "【site2.xxx.com】Check Error" xxxxxx@xxxx.com

wgetコマンドで、リトライは3回(-t 3)、タイムアウト時間は30秒(-T 30)でURLを叩いてヘッダーを取得(–spider)して、エラーの場合にxxxxx@xxxx.comにメールを送信するようにしている。

コマンドを作成したら、ファイルに実行権を付与。

chmod +x  bat_site_check.sh

4)cron設定

定期的に作成したコマンドを実行するように、cron設定。

crontab -e

cronの定義内容の例は以下で、5分毎にチェックしている。

# m h dom mon dow   command
1-59/5 * * * * /home/checker/bin/bat_site_check.sh >>/dev/null 2>&1