Uptime Kuma Linux Server Health Monitor

A Bash script that monitors system usage stats and alerts if they rise above configurable limits.

Checks disk free space, CPU load average, RAM usage, and ZFS pool health.

Sends the CPU usage percentage to Uptime Kuma as the ping latency so a useful graph will be shown on the dashboard. You can replace this with the RAM usage by finding ping=$CPU_PERCENT near the bottom of the script and replacing it with ping=$MEM_PERCENT.

One-line installer

Copy-paste to install the script and push status to Uptime Kuma every 60 seconds. Then just edit /opt/uptimekuma.sh (if installed as root) or $HOME/.local/bin/uptimekuma.sh (if installed as user) to configure the API_URL and PUSH_KEY and optionally customize alert parameters.

As root:

mkdir -p /opt && wget -O /opt/uptimekuma.sh https://source.netsyms.com/Netsyms/uptime-kuma-server-health/raw/branch/main/uptimekuma.sh && chmod +x /opt/uptimekuma.sh && crontab -l | { cat; echo "* * * * * /opt/uptimekuma.sh"; } | crontab -

As user:

mkdir -p $HOME/.local/bin && wget -O $HOME/.local/bin/uptimekuma.sh https://source.netsyms.com/Netsyms/uptime-kuma-server-health/raw/branch/main/uptimekuma.sh && chmod +x $HOME/.local/bin/uptimekuma.sh && crontab -l | { cat; echo "* * * * * $HOME/.local/bin/uptimekuma.sh"; } | crontab -
Description
No description provided
Readme 42 KiB
Languages
Shell 100%