Before You Start

The current server agent is a Go binary that sends server metrics to Watchman Tower. To run it, you need:
  • a server entry created in Watchman Tower
  • the server’s server_id
  • the server’s api_key
  • the API URL used for metric ingestion
The current binary expects these values as runtime flags. It does not yet ship with a packaged installer or service manager wrapper in this repo.

Required Flags

The current agent accepts these flags:
-server_id
-api_key
-api_url
The binary will not start correctly without server_id and api_key.

Basic Run Command

After building the binary, a minimal run command looks like this:
./wt-monitoring \
  -server_id="<your_server_id>" \
  -api_key="<your_api_key>" \
  -api_url="<your_api_url>"

Build From Source

From the warden repository:
go build -o wt-monitoring .
Then run it with your Watchman Tower values:
./wt-monitoring \
  -server_id="<your_server_id>" \
  -api_key="<your_api_key>" \
  -api_url="<your_api_url>"

Runtime Behavior

When the agent starts:
  1. it sends an initial payload containing static host information
  2. Watchman Tower returns an interval value
  3. the agent begins sending dynamic metrics on that interval
If the API does not return a usable interval, the agent falls back to a short default interval.

Authentication and Validation

The current backend expects:
  • a bearer token built from the server API key
  • a valid Watchman Tower server_id
  • the request to come from the server IP configured for that server entry
The backend also performs strict request validation in production. If the agent appears to send data but nothing shows up, verify the configured server IP and API key first.
For the current version, the safest practical setup is:
  • build the binary on the target server
  • run it under a system service such as systemd, supervisord, or another process manager you already use
  • keep the API key scoped to the specific server entry

Troubleshooting Basics

If the agent does not appear in Watchman Tower:
  • verify server_id
  • verify api_key
  • verify api_url
  • verify the server’s public IP matches the configured IP in Watchman Tower
  • confirm outbound HTTPS access from the host

Next Steps