Skip to content
All articles

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

ObservationWhat it tells youWhat it does not tell you
RunningA process currently existsIt opened the right address or can do useful work
ListeningSomething has bound an address and portIt is the expected program or serves the right response
ReachableThe chosen client receives a responseThe response is correct or a dependency is ready
HealthyThe configured check passed at the observed timeEvery 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