死活監視を作ってみました。この記事のchatGPTとの会話をまとめてもらったものです。

IT

さくらVPSで作る:軽量・低コストの死活監視(メール通知)

AWS上の k-stone.click を さくらのVPS から監視。通常は HEAD で軽量チェック、毎日1回だけ本文検査。異常はメール通知、復旧時も1回だけ通知します。

HEAD: 10分ごと
本文検査: 毎日 03:07
2回連続失敗で通知 / 60分クールダウン

構成図

Monitoring Diagram: Sakura VPS -> AWS (k-stone.click)”<br />
           style=”display:block;max-width:100%;height:auto;border:1px solid #1f2937;border-radius:12px;background:#fff;padding:8px;”><figcaption style= さくらVPSから 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=3COOLDOWN_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