π Power Reset Monitoring with Uptime Kuma
Mechanism to track & be notified of power issues on devices

Driving SD-WAN Adoption in South Africa
Search for a command to run...
Mechanism to track & be notified of power issues on devices

Driving SD-WAN Adoption in South Africa
No comments yet. Be the first to comment.
Enhancing Security and Compliance with ManageEngine ADAudit Plus

Why Pings Aren't Enough & NMS is Essential

What is SD-WAN (Software Defined Wide Area Networking)? | The Mechanics of this Groundbreaking New Network Technology

Embracing First Principles & the Scientific Method

Ever Wondered | "Is My Internet Really 99.9% Reliable?" π€

Power instability is a reality β whether you're dealing with remote edge routers, Raspberry Pis, or industrial IoT sensors. Wouldn't it be great to know when a device has unexpectedly rebooted due to power loss? π₯π
Using Uptime Kuma and a little scripting magic, you can turn your monitoring host into a central watchdog that knows when your devices go down β and when they come back.
To monitor actual devices being down requires separate monitors. This just identifies outages due to power resets.
You'll implement:
A device-side script (custom-reboot.sh) that notifies Kuma of a reboot.
A monitoring-host script (custom10.sh) that clears the alert every 10 minutes else the monitor will always be red/down.
A push-based Uptime Kuma monitor to receive and visualise these events.
When a device reboots, it sends a DOWN status to Kuma using a unique push URL.
Every 10 minutes, the Kuma host pings back with a UP status, effectively clearing any stale reboot alerts.
The notification identifies power outages that have occurred for purposed of causation.
custom-reboot.shInstall this script on each remote device (router, server, IoT box):
#!/bin/bash
# Get the device hostname
HOSTNAME=$(hostname)
# URL encode the hostname
ENCODED_HOSTNAME=$(printf '%s' "$HOSTNAME" | jq -s -R -r @uri)
# Notify Kuma of reboot
URL="https://claymore.amastelek.com/api/push/ktqNBtJK13?status=down&msg=${ENCODED_HOSTNAME}&ping=1"
curl -s "$URL"
Add this to the deviceβs crontab:
@reboot sleep 180 && /usr/local/sbin/custom-reboot.sh
β±οΈ 3-minute delay ensures network is up before script runs.
custom10.shThis script is installed and scheduled only on the Uptime Kuma host. It acts as a clearing heartbeat by sending an UP status to the Kuma push monitor.
#!/bin/bash
# Get the Kuma host's hostname
HOSTNAME=$(hostname)
# URL encode the hostname
ENCODED_HOSTNAME=$(printf '%s' "$HOSTNAME" | jq -s -R -r @uri)
# Send heartbeat UP to clear any stale reboots
URL="https://claymore.amastelek.com/api/push/ktqNBtJK13?status=up&msg=${ENCODED_HOSTNAME}&ping=0"
curl -s "$URL"
Add to crontab on the Uptime Kuma server:
*/10 * * * * /usr/local/sbin/custom10.sh
For each device you want to monitor:
Go to Uptime Kuma β Add New Monitor
Select Push Monitor
Copy the Push URL
Insert that URL into both custom-reboot.sh (device) and custom10.sh (Uptime Kuma host)
A reboot = a DOWN spike, tagged with the hostname
A UP alert comes within 10 minutes, marking systems as up.
π You get visual logs of reboot frequency.
You now have a lightweight, reliable mechanism to detect power-related reboots across devices using:
π Uptime Kuma's Push Monitor
π Device-side cron-based scripts
π§ Centralised clearing via the Kuma host
No agents. No overhead. Just results. π―