Hetzner server monitoring with alerts on your Mac

Rackpulse checks your Hetzner Cloud servers through the Hetzner API and sends a macOS notification when one goes down, stays busy, or runs low on space. The basic checks need nothing on the server.

macOS 14 or later. Needs a Hetzner Cloud API token. Free and open source. No account, no telemetry.

What the Hetzner API reports

The Hetzner Console shows graphs for the CPU, disk, and network of each server. The same data is in the Hetzner API, and Rackpulse reads it with an API token for each project. The API can't see inside a server, so memory and disk space are not part of it. For those, Rackpulse has an optional agent.

What Rackpulse watches

MetricSourceAlert
Running or notHetzner APIServer down, when you did not stop it
CPUHetzner APISustained CPU above a threshold
Disk IOPSHetzner APIDisk I/O above a multiple of the 7-day median
Network and trafficHetzner APITraffic past a share of the included amount
Servers, volumes, firewallsHetzner APIA server or volume added or deleted, a firewall changed
Memory and loadAgentMemory above a threshold
Disk space and inodesAgentA file system fills up or turns read-only
systemd servicesAgentA service is in the failed state
Reboot neededAgentInstalled updates need a reboot
Docker containersAgentUnhealthy, restarting, or stopped with an error

If Hetzner says a server is running but its agent stops answering, Rackpulse raises "Agent not answering". The server may be frozen or out of memory.

Uptime for 30 days

Each server page has an uptime bar for the last 24 hours and 30 days. Without the agent, it comes from Hetzner's start and stop history and Rackpulse's own checks. With the agent, it is recorded on the server itself, so it also catches crashes and reboots that Hetzner can't see.

Rackpulse server page for web-1 with memory and disk tiles, CPU, memory, disk and network charts, and 30 days of uptime

How notifications work

  • Snooze from the notification or the panel silences the alert for 24 hours.
  • Quiet hours hold notifications back.
  • Per server limits. Each server can use the global rules, its own thresholds, or no alerts.

Rackpulse and other monitoring tools

ToolWhat it doesWhat you run
Hetzner ConsoleGraphs for CPU, disk, and network per serverNothing, in a browser
Uptime KumaChecks that a URL, port, or host answersA server or container that runs it
Prometheus and Grafana, NetdataDetailed metrics and dashboards for any serverAn exporter or agent per server, plus a metrics store, or their cloud service
RackpulseStatus, metrics, uptime, costs, and alerts for Hetzner Cloud serversA Mac app, and an optional agent per server

Rackpulse is for a person who runs a handful of Hetzner Cloud servers and wants to know when one needs attention. It does not store metrics for months or build dashboards.

Questions and answers

Does monitoring stop when my Mac sleeps?

Rackpulse runs on your Mac, so it checks and notifies while your Mac is awake. With the agent, the server records its own uptime and metrics for 30 days, so charts and uptime fill in when your Mac wakes up, and crashes during that time still show.

Can it see memory and disk space without the agent?

No. The Hetzner API reports CPU, disk I/O, and network, but it can't see inside a server. Memory, disk space, services, and Docker need the agent.

How often does it check?

On a fixed interval that you can change in Settings. The footer of the panel shows how many Hetzner API requests Rackpulse has used in the current hour.

Can I turn off alerts for one server?

Yes. Each server can use the global rules, its own thresholds, or no alerts. Open the Alerts button on the server page.

Does it check that my website answers?

No. Rackpulse watches the servers, not HTTP endpoints. For a check that a URL answers from outside, use an uptime checker such as Uptime Kuma next to it.

More about Rackpulse