Skip to content

Installing Watch Owl on Linux

Enroll a Linux server and start shipping system metrics to StatusOwl in under five minutes.

Last updated April 18, 2026

This guide walks through installing Watch Owl on a Linux server, enrolling it with your organization, and confirming metrics are flowing.

Requirements

  • Linux amd64 with systemd (Debian 11+, Ubuntu 20.04+, RHEL/CentOS 8+, or equivalent).
  • Root or sudo access — the agent runs as a dedicated system user.
  • Outbound HTTPS (443) to nest.statusowl.net. No inbound ports required.

Create an install token

  1. In the dashboard, go to Watch Owl → Hosts → Enroll host.
  2. Click Create install token. Tokens are single-use and expire in 24 hours by default.
  3. Copy the token — it's shown once. It looks like wo_enroll_xxxxxxxxxxxxxxxxxxxx.

Install tokens are sensitive

Anyone with an active install token can enroll a host into your organization. Paste it directly into the machine that's being enrolled — don't post it in chat or commit it to a repo.

Install the package

Download the latest release from the dashboard, or use curl to pull the correct architecture.

bash
# Debian / Ubuntu
curl -LO https://releases.statusowl.net/watch-owl/latest/watch-owl_amd64.deb
sudo dpkg -i watch-owl_amd64.deb

# RHEL / Fedora / CentOS / Rocky
curl -LO https://releases.statusowl.net/watch-owl/latest/watch-owl_amd64.rpm
sudo rpm -i watch-owl_amd64.rpm

The package installs the watch-owl binary, a watch-owl system user, and a systemd unit. The service is not started yet — you enroll first.

Enroll the host

Run the enroll command and paste the install token when prompted. The agent trades it for a long-lived host credential, writes the credential to /etc/watch-owl/credentials with 0600 permissions, and starts the service.

bash
sudo watch-owl enroll
# Install token: wo_enroll_xxxxxxxxxxxxxxxxxxxx
# → Enrolled as host 7f3a... (my-web-01)
# → Starting watch-owl.service

Unattended installs

For configuration management (Ansible, Terraform, cloud-init), pass the token as a flag so the command is non-interactive:
sudo watch-owl enroll --token $WATCH_OWL_ENROLL_TOKEN

Verify the install

bash
# Service status
sudo systemctl status watch-owl

# Recent logs
sudo journalctl -u watch-owl -f

# Current agent info
sudo watch-owl status

Within 30 seconds, the host should appear in Watch Owl → Hosts with a live heartbeat and a first set of CPU, memory, disk, and network charts.

Uninstall

Removing the package stops the service and cleans up the credential file. The host itself remains in the dashboard until you delete it there — this preserves historical metrics.

bash
# Debian / Ubuntu
sudo apt-get remove watch-owl

# RHEL / Fedora / CentOS / Rocky
sudo rpm -e watch-owl