Learning goal: define service availability through the outcome promised to the user, rather than the number of green components.
Two truthful answers can contradict each other
The command-acceptance service may be available while the business process is not. These are two different commitments:
- acceptance — the system durably accepted the work and can identify it;
- completion — the work reached an agreed terminal state within the agreed time.
If a dashboard combines those answers, green is not necessarily a lie. It is an answer to a question that is too small.
An evidence ladder
| Layer | Question | Example evidence | What it does not prove |
|---|---|---|---|
| Process | Is the component alive? | Liveness, restart and resource use | Readiness to serve traffic |
| Dependency | Can the component perform its step? | Readiness, connectivity and permissions | Completion of the whole process |
| Progress | Is accepted work moving? | Oldest-work age, completion rate and permanent failures | Correctness of the user outcome |
| Outcome | Does the user receive the promised service? | Terminal-state SLI and a controlled synthetic journey | The root cause of a failure |
All layers are useful. Outcome signals expose the failure; component signals help locate it. One chart need not pretend to be the whole architecture.
Start with the process contract
- Name the accepted state and terminal states: success, rejection, cancellation or human intervention.
- Agree the measurement start, window and population. Do not invent a duration merely to give a dashboard a threshold.
- Carry a correlation identifier through queues, consumers and state stores. Keep confidential content out of metric labels.
- Measure latency and lack of progress. Queue depth alone can also rise during healthy traffic bursts.
- Define what happens after the threshold: limit intake, disclose delay, route to manual handling or stop the process.
A safe end-to-end probe
A synthetic journey needs a separate identity, harmless data, bounded frequency and controlled cleanup. It must verify the terminal state, not merely an HTTP response. For operations that create obligations, use an isolated test path instead of generating “monitoring orders” in production. Monitoring can become a customer too; it merely tends not to pay the invoices.
The negative test
Stop a consumer in a controlled environment and expect:
- component checks to state precisely what still works;
- progress measures to detect ageing work;
- the outcome SLO to consume budget according to the contract;
- recovery not to create duplicate effects;
- operators to account for every accepted item.
Boundary of the technique
An end-to-end probe does not replace diagnostics, security tests or queue-capacity decisions. An SLO does not repair a process; it tells you when the observed outcome departs from the accepted promise. That promise has to exist first.
Practise the decision on a stalled process →
Discuss this article
Share a constructive observation or an anonymised example. Comments are checked by AI before publication. Uncertain cases go to the moderator.