Use case

Raspberry Pi monitoring

A Pi that runs something you care about, a home server, a sensor gateway, a Pi-hole or a build runner, usually fails quietly: the SD card fills, it overheats in a cupboard, or it drops off the network and nobody notices for a week.

NoDisrupt watches it from outside. The Linux agent reports CPU, memory, disk and network every minute, a short script sends the CPU temperature, and either one alerts you when the readings cross a line or stop arriving.

Needs the Pro plan: £24 or $29 a month.

Start free

How it works

  1. Step 1

    Install the agent (64-bit Pi OS)

    The agent ships an arm64 build, so a Pi 3, 4 or 5 running 64-bit Raspberry Pi OS installs it with the same one-line command as any Linux server. It runs as a systemd service and reports every 60 seconds.

  2. Step 2

    Send the CPU temperature

    The agent does not read temperature, so add an asset monitor and a cron job that posts /sys/class/thermal/thermal_zone0/temp to it. Asset monitors are available on every plan, including Free.

  3. Step 3

    Set thresholds

    Pick the readings that matter, for example disk above 85% or CPU temperature above 75 C, and route the alert through an escalation policy to email, SMS or a phone call.

  4. Step 4

    Know when it drops off

    Both the agent and the temperature feed alert when data stops arriving, so a Pi that has crashed, lost power or lost wifi raises an incident without anything having to run on it.

Install the agent (the app fills in your keys)
NODISRUPT_AUTH_KEY='<your-auth-key>' NODISRUPT_METRIC_ID='<your-monitor-id>' \
  sudo -E bash -c "$(curl -fsSL https://downloads.nodisrupt.com/agent/install.sh)"
Send CPU temperature every minute
#!/bin/sh
# /usr/local/bin/pi-temp.sh -- run every minute from cron:
# * * * * * FEED_URL=... FEED_KEY=... /usr/local/bin/pi-temp.sh
T=$(awk '{printf "%.1f", $1/1000}' /sys/class/thermal/thermal_zone0/temp)
curl -fsS -m 10 -X POST "$FEED_URL" \
  -H "Authorization: Bearer $FEED_KEY" \
  -H "Content-Type: application/json" \
  -d "{\"metrics\": {\"cpu_temp_c\": $T}}"

What you can alert on

WatchMetric or checkExample alert
CPU loadcpu_percent, load1, load5load5 above 4 on a four-core Pi
Memory and swapmem_used_percent, swap_used_percentSwap above 50%: the Pi is short of RAM
SD card or SSD spacedisk_<device>_used_percentageDisk above 85%
CPU temperaturecpu_temp_c (your script)Above 75 C, before the Pi throttles at 80 C
Reachabilityping or HTTP monitorUnreachable from outside
Offlineno data receivedNo reading for 5 minutes
What it does not do
  • The agent needs a 64-bit OS. 32-bit Raspberry Pi OS and 32-bit-only boards (the original Pi Zero, Pi 1 and early Pi 2) are not supported; use the temperature-style script for those instead.
  • The agent needs systemd, which Raspberry Pi OS has; minimal images without it need a manual supervisor.
  • Server metrics from the agent are a Pro plan feature. The temperature script and ping checks work on Free.
  • Free plan alerts go by email; SMS and phone calls use the message credits included with paid plans.

Common questions

Can I monitor a Raspberry Pi for free?

Yes, partly. On the Free plan you can push readings such as CPU temperature from a script, ping the Pi or check a web service it runs, with up to 10 monitors and email alerts. The agent that reports CPU, memory, disk and network is on Pro.

How do I get the Raspberry Pi CPU temperature?

Read /sys/class/thermal/thermal_zone0/temp, which reports millidegrees Celsius: 52312 means 52.3 C. The script on this page divides by 1,000 and posts the result. vcgencmd measure_temp gives the same number in a different format.

What temperature is too hot for a Raspberry Pi?

The Pi 4 and 5 start to throttle their CPU at 80 C and throttle harder at 85 C. Alerting at around 75 C gives you time to add a heatsink, a fan or better airflow before performance drops.

Does the agent work on a Pi 3?

Yes, if it runs a 64-bit OS. The Pi 3 has a 64-bit CPU, so 64-bit Raspberry Pi OS runs on it and the arm64 agent installs normally.

Will I know if the Pi loses power?

Yes. When readings stop, the monitor raises an incident after the window you set. The alert is sent from NoDisrupt, not from the Pi, so it works even when the Pi is completely dead.

Set it up in a few minutes

Needs the Pro plan: £24 or $29 a month.

Start monitoring free