PulseNode ← Home

Documentation

Everything you need to monitor a server with PulseNode — install, alerts, troubleshooting, uninstall.

Install the agent Supported platforms Telegram alerts Alert rules Offline detection Troubleshooting Uninstall

Install the agent

Add a server in the dashboard to generate a one-time token, then run the command it shows you on the server you want to monitor:

curl -fsSLo /tmp/server-monitor-install.sh https://github.com/Xaenox/server-monitor-releases/releases/latest/download/install.sh
sudo bash /tmp/server-monitor-install.sh agent

The installer asks for the token interactively (so it is never written to your shell history), downloads the agent binary (verifying its SHA-256 checksum), writes a 0600 config, and starts a hardened systemd service that begins reporting within a minute. The token is shown only once — if you lose it, delete the server and add it again.

Docker containers are monitored automatically — including rootless Docker daemons run by other users (a common setup for CI runners). The installer detects every running daemon and wires it up; each container is labeled with its daemon in the dashboard. If a rootless daemon appears later, just re-run the install command above, or set SKIP_ROOTLESS_DOCKER=1 during install to opt out entirely.

The agent makes only outbound HTTPS connections to the dashboard. No inbound ports are opened. It sends metric values only — no file contents, environment variables, or logs.

Supported platforms

OSArchitectures
Linuxx86_64 (amd64), aarch64 (arm64)

A modern systemd-based distribution (Ubuntu, Debian, Fedora, etc.) and curl are required. The agent is a single static binary with no runtime dependencies.

Telegram alerts

To receive alerts in Telegram, create a bot and tell PulseNode its token and your chat ID (Settings → Telegram Notifications):

  1. Open @BotFather in Telegram, send /newbot, and follow the prompts. Copy the bot token it gives you.
  2. Message your new bot once (so it can write to you), then get your chat ID: message @userinfobot, or for a group, add the bot and check https://api.telegram.org/bot<token>/getUpdates.
  3. In PulseNode → Settings, paste the bot token and chat ID, enable Telegram, and click Send Test.

Email alerts work out of the box — just set a recipient address in Settings → Email Notifications.

Alert rules

On a server's Alerts tab, add a threshold rule on cpu, ram, or disk usage percent (e.g. cpu > 85%). When the value crosses the threshold you get a notification, and another when it recovers. A per-rule cooldown prevents one bad night from becoming dozens of pings. Notifications go to every channel you've enabled.

Offline detection

If a server's agent stops reporting (crash, reboot, network loss), PulseNode notifies you that it's offline — and again when it comes back. This is automatic; no rule to configure. You'll only receive it if you have a notification channel set up.

Troubleshooting

The server shows "waiting" or "offline" after install

Check the agent service on the monitored host:

sudo systemctl status server-monitor-agent
sudo journalctl -u server-monitor-agent -n 50 --no-pager

Metrics look stale

The agent reports every 30 seconds by default; a card turns "stale" after a few missed cycles and "offline" after ~10. Confirm the service is active (running) with the commands above.

Uninstall the agent

On the monitored server:

sudo systemctl disable --now server-monitor-agent
sudo rm -f /usr/local/bin/server-monitor-agent /usr/local/bin/server-monitor-expose-rootless-docker
sudo rm -rf /etc/server-monitor-agent
sudo rm -f /etc/systemd/system/server-monitor-agent.service
# Only present if rootless Docker daemons were monitored:
sudo systemctl disable --now 'server-monitor-docker-*.socket' 2>/dev/null
sudo rm -f /etc/systemd/system/server-monitor-docker-*.socket /etc/systemd/system/server-monitor-docker-*.service /etc/tmpfiles.d/server-monitor.conf
sudo systemctl daemon-reload

Then delete the server in the dashboard (its Settings tab → Danger Zone) to remove its stored history.

Need help? Contact support.