死活監視を作ってみました。この記事のchatGPTとの会話をまとめてもらったものです。
さくらVPSで作る:軽量・低コストの死活監視(メール通知)
AWS上の k-stone.click を さくらのVPS から監視。通常は HEAD で軽量チェック、毎日1回だけ本文検査。異常はメール通知、復旧時も1回だけ通知します。
HEAD: 10分ごと
本文検査: 毎日 03:07
2回連続失敗で通知 / 60分クールダウン
本文検査: 毎日 03:07
2回連続失敗で通知 / 60分クールダウン
構成図
k-stone.click を10分ごとにHEAD監視、毎日1回本文チェック。異常/復旧はメール通知。
目的
- AWSのWordPressサイトが落ちていないか定期チェック
- 異常時のみメール通知(連続失敗で通知/復旧時は1回だけ)
- HEAD中心で軽量・低コスト(AWSへの負荷と転送量を最小化)
セットアップ手順(要点)
1. msmtp + mail を導入
sudo apt update sudo apt install -y msmtp msmtp-mta mailutils ca-certificates
Gmailを使う場合は2段階認証をONにして「アプリパスワード」を発行します。
2. /etc/msmtprc を設定(Gmail例)
defaults auth on tls on tls_trust_file /etc/ssl/certs/ca-certificates.crt logfile /var/log/msmtp.log account gmail host smtp.gmail.com port 587 from yourname@gmail.com user yourname@gmail.com password 16桁のアプリパスワード account default : gmail
3. 監視スクリプトを配置
sudo tee /usr/local/bin/healthcheck_kstone.sh >/dev/null <<'SH' # …(前述のスクリプト全文をここに挿入)… SH sudo chmod +x /usr/local/bin/healthcheck_kstone.sh sudo mkdir -p /var/lib/healthcheck_kstone sudo touch /var/log/healthcheck_kstone.log
4. cron に登録(軽量10分+本文検査は毎日)
( crontab -l 2>/dev/null | grep -v 'healthcheck_kstone.sh' ; \ echo '*/10 * * * * FAST=1 /usr/local/bin/healthcheck_kstone.sh' ; \ echo '7 3 * * * /usr/local/bin/healthcheck_kstone.sh' ) | crontab -
通知が多い場合は THRESHOLD_FAILS=3、COOLDOWN_MIN=120 に変更。
動作ログ例
2025-11-05 03:07:00 | OK | HTTP:200 | FAST:0 2025-11-05 03:17:00 | OK | HTTP:200 | FAST:1 2025-11-05 03:27:00 | OK | HTTP:200 | FAST:1
まとめ
- さくらVPSだけで、AWS上のサイトを軽量に死活監視できる
- 連続2回失敗で通知/復旧時は1回だけ通知/1時間クールダウン
- 通信量は極小(HEAD中心)で、コストや負荷を最小化
© 2025 k-stone.click — lightweight monitoring on Sakura VPS