Healthchecks.io: cron monitoring ที่ใช้ได้จริง
อย่าแค่เชื่อ cron jobs — ให้มัน ping เมื่อ fail ฟรี 20 checks, self-host ได้ถ้าต้องการ
Healthchecks.io: cron monitoring
Cron jobs เงียบ ถ้า restic-backup.sh fail เพราะ disk เต็ม ไม่มีใครบอก —
จนกว่าคุณจะต้องใช้ backup แล้วพบว่ามันว่างเปล่า
Healthchecks.io แก้ปัญหานี้ cron jobs ของคุณ ping URL เมื่อเริ่มและเสร็จ ถ้าไม่มี ping มาตามกำหนด คุณจะได้ alert
ตั้งค่า
- สมัครที่ healthchecks.io (ฟรี 20 checks)
- สร้าง check:
- Name: “nightly backup”
- Period: 24 hours
- Grace: 1 hour (alert ถ้าไม่มี ping ใน 25h)
- จะได้ URL เช่น
https://hc-ping.com/UUID
ใช้ใน bash
#!/bin/bash
set -e
curl -fsS -m 10 --retry 5 https://hc-ping.com/UUID/start > /dev/null
restic -r b2:my-bucket:vps-snapshots backup /etc /home /srv
curl -fsS -m 10 --retry 5 https://hc-ping.com/UUID > /dev/null
set -e ทำให้ success ping รันเฉพาะตอน success ถ้า restic fail script
จะ exit โดยไม่ ping → healthchecks.io alert คุณ
ติดตามอะไรบ้าง
| Job | Period | Grace |
|---|---|---|
| Database backup | 6h | 1h |
| Cert renewal | 60d | 7d |
| Log rotation check | 24h | 26h |
| Disk space warning | 24h | 26h |
| Docker image cleanup | 7d | 8d |
Self-hosted version
ถ้าไม่ไว้ใจ third party กับ cron ping URLs source เปิดอยู่ รันใน Docker ใช้ Postgres backend รองรับฟีเจอร์เดียวกันหมด
ผมใช้ SaaS — check UUIDs ของผมไม่ใช่ secrets ที่ต้องปกป้อง