Running, listening, reachable, healthy: four different checks
Choose the right check for a process, listener, reachable service or useful health response.
Ouros editorial team
A service can have a running process and still be unusable. Check four things separately: whether the process exists, whether it listens for connections, whether the intended client can reach it, and whether it passes the health check that matters for the task.
Four observations, not one badge
| Observation | What it tells you | What it does not tell you |
|---|---|---|
| Running | A process currently exists | It opened the right address or can do useful work |
| Listening | Something has bound an address and port | It is the expected program or serves the right response |
| Reachable | The chosen client receives a response | The response is correct or a dependency is ready |
| Healthy | The configured check passed at the observed time | Every user task works or the service will remain healthy |
Consider an illustrative documentation preview. The process can start before it opens its listener. The listener can then respond with a missing-page error because it points at the wrong folder. A health check of the root page might pass while a linked guide is still missing. These are different faults with different corrections.
Write down the observation time and target with each check. “Reachable from this Mac” does not establish “reachable from a teammate's computer.” A loopback-only listener is meant to stay on that computer. Do not open it to the network merely to make a remote check turn green.
Start with inspection
Fleet's public command reference documents a bundled command-line tool. Use the actual installed application location if it differs from this example:
"/Applications/FleetConsole.app/Contents/Resources/bin/fleetctl" --help
"/Applications/FleetConsole.app/Contents/Resources/bin/fleetctl" doctor
The diagnostic command is an inspection step, not an instruction to install, restart or replace a controller. Preserve the diagnostic result privately if it contains local process information.
When fleetctl is available on your command path, these commands inspect managed work:
fleetctl list --json
fleetctl agents --json
Read the identity and purpose of the entry before acting on it. A familiar service name does not prove that you own the process currently using a port. Process identifiers can change, and a port can be reused after a service exits.
Choose the smallest useful next check
If the process is absent, look for its recorded exit reason. If it is running but not listening, inspect its startup error and configuration. If the intended client cannot reach it, check the address and access path. If the health response is wrong, inspect that response and the specific dependency it tests.
Do not restart every process as a first response. That can erase useful failure details or interrupt work unrelated to yours. Retain the service identity, owner, last observation and non-secret error first.
Finally, check one real task appropriate to the preview, such as opening the guide you are editing. HTTP acceptance is not completion, and a healthy root page is not a complete review of its contents.
Sources
Put it to use
- Agent-service ownership kit
- Read the relevant product guide