Skip to main content

Linux System Monitoring

This guide explains how to set up Harbor Lighthouse on your Linux servers. Lighthouse is a tiny, single-binary agent that replaces the legacy bash scripts. It automatically collects system performance metrics, handles network interruptions, and ships data securely to Harbor Scale.

Repo Link: https://github.com/harborscale/harbor-lighthouse

Prerequisites​

Before starting, ensure you have:

  • A Linux system (Ubuntu, Debian, CentOS, Arch, or Raspberry Pi OS).
  • Root/Sudo access to install the system service.
  • curl installed.
  • A Harbor Scale account (Cloud or Self-Hosted).

How it Works​

The Lighthouse agent runs as a background system service (systemd). It uses the internal linux collector driver to read directly from kernel statistics (like /proc/stat and /proc/meminfo) without spawning external processes. This makes it significantly more efficient than previous script-based solutions.


Setup Guide​

1. Get Your Credentials​

If you haven't already, log in to your Harbor Scale dashboard to get your connection details.

  1. Cloud Users: You need your Harbor ID (e.g., 123) and API Key.
  2. Self-Hosted Users: You need your Endpoint URL (e.g., http://192.168.1.50:8000) and API Key.

2. Install the Agent​

We provide a universal installer that detects your OS and architecture (AMD64, ARM64/Pi, etc.).

curl -sL get.harborscale.com | sudo bash

3. Add the System Monitor​

Once installed, use the lighthouse CLI to configure the monitoring job. This command registers the monitor and starts the collection immediately.

For Harbor Scale Cloud:

sudo lighthouse --add --name "server-01" --harbor-id "YOUR_HARBOR_ID" --key "YOUR_API_KEY" --source linux

For Self-Hosted / OSS:

sudo lighthouse --add --name "server-01" --endpoint "http://YOUR_IP:8000" --key "YOUR_API_KEY" --source linux

Note: Replace server-01 with a unique name for this device.


Configuration & Customization​

The linux collector works out of the box, but you can customize how it runs using flags during the --add command.

FlagDescriptionDefault
--intervalHow often to collect and send metrics (in seconds).60
--nameThe unique ID for this server in your dashboard.(Required)
--batch-sizeMax number of metrics to buffer before sending.100

Example: High-Frequency Monitoring To collect data every 5 seconds:

sudo lighthouse --add --name "high-freq-server" --harbor-id "123" --key "xyz" --source linux --interval 5

Available Metrics​

The linux source automatically captures the following core metrics:

  • CPU: Usage percentage (System, User, Idle, Steal).
  • Memory: RAM Used, Free, Cached, and Buffers.
  • Disk: Usage percentage and free space for the root partition.
  • Load Average: 1, 5, and 15-minute load averages.
  • Uptime: System uptime in seconds.

Managing the Service​

Lighthouse simplifies management with built-in commands. You do not need to interact with systemctl manually.

TaskCommand
Check Statuslighthouse --list
View Logslighthouse --logs "server-01"
Stop Monitoringlighthouse --remove "server-01"
Disable Updateslighthouse --autoupdate=false

Uninstalling​

To completely remove the service and binary from your system:

sudo lighthouse --uninstall

Troubleshooting​

Common Issues​

"Command not found" after installation

  • The installer places the binary in /usr/local/bin. Ensure this directory is in your $PATH.
  • Try running sudo /usr/local/bin/lighthouse --list.

Monitor status is "Unhealthy"

  • Run lighthouse --list to see the status.
  • If unhealthy, check the logs: lighthouse --logs "server-01".
  • 401 Unauthorized: Check your API Key.
  • Connection Refused: Check your internet connection or Firewall settings.

Systemd Service Fails to Start

  • If you manually removed files, reinstall using sudo lighthouse --install.