What you need
- Multimeter for macOS 13 or later, $19.99 once.
- The direct download version of Multimeter from this site (the Script source isn’t in the Mac App Store version).
- The address of the page to check.
Set it up
- Try it in Terminal with your address in place of
https://example.com:Commandcurl -s -o /dev/null -m 8 -w '%{http_code} %{time_total}' https://example.com | awk '{ if ($1 >= 200 && $1 < 400) printf "{\"value\": %d}\n", $2 * 1000; else printf "{\"value\": 9999, \"formatted\": \"down %s\"}\n", $1 }' - Add a Script meter, paste the command and refresh every minute.
- Set the range to 0 to 2000 (milliseconds) and alerts to High values: warning at 1500, critical at 9999. Turn on Notify me when it goes critical.
Multimeter settings
In Customize This Meter… (from the meter’s menu):
| Setting | Value |
|---|---|
| Source | Script |
| Command | the curl … | awk line above |
| Refresh every | 1 minute |
| Range | 0 to 2000 |
| Unit | ms |
| Alerts | High values: warning 1500, critical 9999, notify on critical |
| Label | your site, like WEB |
| Face | Sparkline, Traffic Light or Columns |
Tested: Run on October 29, 2026: {"value": 387} for multimeterapp.com, down 404 for a missing page, and down 000 for a host that doesn’t exist.
Script meters need the direct download version of Multimeter from this site, which is the one on sale now. How commands run, the PATH they see and the 10 second limit are in the Script meters guide.
Limits
- The check runs from your Mac, so it also goes red when your own connection is down. Pair it with a ping meter to tell the two apart.
- curl gives up after 8 seconds, inside Multimeter’s 10 second limit.
Variations
Just up or down
Prints 1 when the site answers with a 2xx or 3xx status and 0 otherwise. Use alerts on Low values with critical at 0.
code=$(curl -s -o /dev/null -m 8 -w '%{http_code}' https://example.com); [ "$code" -ge 200 ] && [ "$code" -lt 400 ] && echo 1 || echo 0Check that the page says what it should
Counts how often a word appears; 0 means the page broke even though it answered.
curl -s -m 8 https://example.com | grep -c 'Add to cart'Troubleshooting
| Symptom | Cause | Fix |
|---|---|---|
| The script didn’t print a number | The command failed or printed an error message instead. | Run the exact command in Terminal. If it works there, check for tools that live outside the meter’s PATH and use their full path (which tool). |
| The script took longer than 10 seconds | A slow network call. Multimeter stops scripts after 10 seconds. | Keep the -m timeout on curl, and refresh less often. |
| Scripts need the version from multimeterapp.com | This copy of Multimeter came from the Mac App Store, which can’t run scripts. | Use the direct download version, or run the command from cron or launchd and point a File meter at its output. |
| Always “down 000” | curl couldn’t connect: DNS, a firewall, or a VPN that blocks the host. | Run curl -v with the address in Terminal to see where it stops. |
Questions
Does this work in the Mac App Store version?
Script meters need the direct download version from multimeterapp.com, because the App Store sandbox doesn’t let apps run your commands. Web Address, File and Sent Value meters work in every version.
Does this replace an uptime monitoring service?
It covers the case where you are at your Mac. A service checks from many places around the clock and can wake you up. Many people run both and point this meter at the service’s status, like the Uptime Kuma recipe does.