Files
jawhng-blog/src/routes/posts/homelab-health-monitoring.md
jawhng ac903da20c
Some checks failed
Deploy Blog / deploy (push) Has been cancelled
edit & add post image
2026-02-04 17:03:09 +02:00

1.9 KiB

title, date, excerpt, image
title date excerpt image
Simple Homelab Health Monitoring with Discord Webhooks 2026-02-04 A lightweight bash-based monitoring setup that sends daily system health summaries to Discord - no Prometheus required. /images/posts/discordWebhook.png

I wanted a (VERY) lightweight way to keep tabs on my homelab server. I didn't want to ssh to it periodically or a full monitoring stack like Prometheus/Grafana/Netdata. Here's my solution:

The Setup

Two components make the magic happen:

1. Collector - Runs every hour via cron, appending CPU, memory, load, and disk usage to a CSV file. Data is retained for 7 days (I might have a hoarding issue).

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. I start work at 9 AM so this is another pleasant addition to the daily ritual email-checking and groaning over a cup of steaming tea.

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

The title image to this post is the actual 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.