diff --git a/src/routes/posts/homelab-health-monitoring.md b/src/routes/posts/homelab-health-monitoring.md new file mode 100644 index 0000000..e4d8ed9 --- /dev/null +++ b/src/routes/posts/homelab-health-monitoring.md @@ -0,0 +1,42 @@ +--- +title: "Simple Homelab Health Monitoring with Discord Webhooks" +date: "2026-02-04" +excerpt: "A lightweight bash-based monitoring setup that sends daily system health summaries to Discord - no Prometheus required." +--- + +I wanted a lightweight way to keep tabs on my homelab server (HP ProDesk 600 G2) without running a full monitoring stack like Prometheus/Grafana or Netdata. The solution: a couple of bash scripts that collect stats hourly and send a daily summary to Discord. + +## The Setup + +The system has two components: + +**1. Collector** - Runs every hour via cron, appending CPU, memory, load, and disk usage to a daily CSV file. Data is retained for 7 days. + +**2. Reporter** - Runs daily at 9 AM, calculates min/avg/max from the collected samples, checks for journal errors and SSD health, then sends a formatted embed to a Discord webhook. + +## What Gets Monitored + +- CPU usage (min/avg/max over 24h) +- Memory usage (min/avg/max over 24h) +- Load average (min/avg/max over 24h) +- Disk usage (current) +- SSD SMART health status +- System errors from journalctl + +The report color-codes itself: green for OK, yellow for warnings (high usage or errors present), red for critical issues. + +## Why This Approach? + +- **No dependencies** - Just bash, cron, and curl +- **No services to manage** - Cron handles scheduling +- **Minimal resource usage** - A few KB of CSV data per day +- **Discord integration** - Notifications where I already am +- **Actionable** - Only alerts on actual issues with `--errors-only` mode + +## Sample Output + +The Discord embed shows a clean summary with all the stats at a glance. If there are errors in the journal, they're included in a code block at the bottom. + +## Source + +The scripts are available at [git.jawhng.xyz/jawhng/homelab-monitoring-webhook](https://git.jawhng.xyz/jawhng/homelab-monitoring-webhook).