HEARTBEAT.md — System Health Monitor
HEARTBEAT.md for periodic system health checks — disk space, backups, SSL certs, service status, and smart alerts.
Install path
Use this file for each supported tool in your project.
- OpenClaw: Save as
HEARTBEAT.mdin your project atHEARTBEAT.md.
Configuration
HEARTBEAT.md
1# HEARTBEAT.md — System Health23Run these checks periodically. Report only when something needs attention.45**Schedule:** every 6h (disk, containers, load) · daily 08:00 (backups, certs, digest) · weekly Monday (trends)6**Alerts:** Discord DM. Hold non-critical during 22:00–07:00.78---910## Disk Space1112```bash13df -h / /mnt 2>/dev/null | awk 'NR>1 {print $6, $5, $4}'14```1516⚠️ >80% used · 🔴 >90% used · If tight, check `docker system df`1718## Docker Containers1920```bash21docker ps -a --format '{{.Names}}\t{{.Status}}' | sort22```2324Flag anything not "Up." Watch for restart loops via `docker inspect --format='{{.RestartCount}}'`.2526Key services: `openclaw-gateway`, `caddy`, `postgres` <!-- customize -->2728## System Load2930```bash31uptime && free -h32```3334⚠️ 15min load avg > CPU count · ⚠️ Available RAM < 500MB35On Raspberry Pi: `vcgencmd measure_temp` — warn >75°C3637## Backup Freshness3839```bash40ls -lt /path/to/backups/ | head -341```4243⚠️ Last backup >36h ago · 🔴 >72h ago · Sanity-check file sizes (not zero)4445## SSL Certificates4647```bash48for domain in example.com api.example.com; do49 echo | openssl s_client -connect "$domain:443" -servername "$domain" 2>/dev/null \50 | openssl x509 -noout -enddate 2>/dev/null | sed "s/notAfter=/$domain: /"51done52```5354⚠️ <14 days · 🔴 <7 days5556## Digest Format5758All green: "✅ Systems nominal. Disk 62%, containers up, backup 4h ago, certs 58d."5960Something wrong: "⚠️ Disk 84% on /mnt — `docker system prune` frees ~4GB. Rest green."
Community feedback
0 found this helpful
Works with: