> ## Documentation Index
> Fetch the complete documentation index at: https://www.towbar.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# System and workload health

> Distinguish control-plane checks from server checks and app or resource readiness.

Health is scoped. **Manage → System health** checks Towbar's API/database, Temporal, and worker/maintenance processes. A server check tests SSH reachability and records host and workload observations. An app or resource health result describes its runtime at the time of that observation. One green result cannot substitute for the others.

## Check the control plane

Open **Manage → System health** and read each check's status and observed time. Towbar checks Temporal at startup and every five minutes; a result older than 15 minutes is stale. Choose **Run checks** for a fresh reading. A provider's remote availability is checked by an actual provider operation, not by this page.

If the dashboard is unavailable, use the host CLI:

```bash theme={"system"}
sudo towbar status
sudo towbar doctor
sudo towbar logs api worker temporal
```

`doctor` is read-only and separates installation, database, service, and public-origin problems. See [Troubleshooting](/docs/troubleshooting) before changing installation state.

## Check a server

Open its **Checks** page and choose **Check server** when the latest result is old. Inspect SSH trust, setup status, available capacity, and the check's final result. Server setup and a check are separate operations: a prepared host can later lose SSH access or fill its disk. If setup is pending or failed, follow [Prepare a server](/docs/servers/setup).

## Check a workload

Read the app or resource's current state, health, and last checked time. Then inspect its latest deployment and runtime logs. A build can succeed while health fails because the process listens on the wrong interface or port, starts too slowly, lacks a runtime secret, or returns an unhealthy response. Compare `container.port` and `health` in the [app manifest](/docs/apps/configuration) or [resource manifest](/docs/resources/manifest) with the actual process.

Missing or stale observations should be investigated as missing data. They do not establish recovery or zero utilization. [Scout Agent](/docs/scout) adds continuous metrics and report-age alerts, while [alert rules](/docs/scout-alerts) decide when observations become incidents.
