Metrics Overview
The current server agent collects a focused set of host-level metrics and selected runtime signals, then sends them to Watchman Tower as JSON.Static Host Information
On startup, the agent reports static platform information such as:- agent name
- agent version
- operating system
- platform name
- platform version
- kernel version
- architecture
Dynamic Metrics
The current dynamic payload includes:cpu_usagememory_usagetotal_memoryused_memorydisk_usagetotal_diskused_disknetwork_sentnetwork_receivedload_1load_5load_15uptimeswap_totalswap_usedswap_usage
Process Metrics
The agent also sends a sampled list of high-usage processes. For each process entry, the payload currently includes:- PID
- process name
- CPU usage
- memory usage
Service and Port Health
The current agent can also send lightweight server health blocks such as:service_healthport_healthdocker_healthnginx_healthmongo_healthredis_health
Nginx Discovery
When Nginx is available and its configuration is readable, the current agent can also report:- discovered
server_namevalues rootpaths when present- Nginx config file paths
- listen ports for discovered virtual hosts
nginx_sites and is useful for understanding what may
be running on a given server.
How the Backend Uses These Metrics
The backend stores server stat entries and also keeps a current server snapshot for list and detail views. That allows Watchman Tower to surface:- current CPU, memory, and disk usage
- recent server stat history
- current agent version on the server record
- process samples included in metric submissions
- service, port, and runtime health surfaces
- Nginx discovery metadata where available
What This Does Not Yet Mean
These metrics are useful today, but docs should stay honest about scope. The current implementation does not imply:- advanced observability pipelines
- service-level tracing
- automatic metric enrichment by Noema today
- custom metrics ingestion from user-defined collectors
- full infrastructure autodiscovery across arbitrary software stacks
