Skip to content
IT Support10 min read

SLO alerting for business services: decide when reliability needs a response

A threshold can tell you a server is busy without telling you whether anyone should respond. Build service objectives and error-budget alerts around the customer journeys the business depends on.

SLOsPrometheusGrafanaAlerting
SLO alerting for business services: decide when reliability needs a response — cover graphic

A server spends an hour above its CPU threshold and nobody notices a service problem. Later, the login flow fails for a small group of customers while the same server remains comfortably below the threshold.

Both events can be useful diagnostic information. Only one clearly tells the business that users cannot complete an important task.

Service level objective, or SLO, alerting starts with the experience that must work. It measures successful service events against a defined objective and uses the remaining tolerance for failure to guide the response. Infrastructure metrics remain valuable for investigation, but they stop being the only definition of service health.

Choose one customer journey

Begin with a service outcome that has a clear start and finish. Examples include submitting a support case, loading an authorized customer record or completing a call connection.

Avoid “the website is up” as the first objective. It can remain true while authentication, search or write operations fail. A journey gives the team a more useful boundary.

Identify the measurement point. A server-side successful response may not mean the browser received usable content. A synthetic check may cover a critical path but not every real customer's conditions. Document what the measurement sees and what it misses.

Write down eligible events

The denominator determines the meaning of the objective. Decide which requests count, how invalid client requests are treated and whether retries represent new service events or repeated attempts at the same outcome.

A definition that changes during an incident can make performance appear better without improving the service. Keep the rule stable and review changes explicitly.

Separate indicator, objective and agreement

A service level indicator, or SLI, is the measurement. An SLO is the target for that measurement over a defined period. A contractual service level agreement can create separate obligations and should not be inferred from an internal engineering target.

For example, an internal team might propose that a defined share of valid case submissions succeed within a chosen time. That target is a design decision for the team to approve, not a promise KYCONNECTS makes in this article.

The objective should reflect business tolerance and operational capability. Copying a famous company's target can produce either an unnecessary expense or an inadequate service.

Understand the error budget

An error budget expresses the permitted failure under the chosen objective. For a request-based objective, it can be expressed as the allowed fraction of eligible events that do not meet the success condition.

As an illustrative calculation, an objective of 99.9 percent success across one million eligible requests permits 1,000 unsuccessful requests during that measurement window. This is arithmetic for a hypothetical service, not a recommended target for every business.

The practical value is that the team can discuss how quickly that allowance is being consumed. A short severe failure and a persistent small failure can have different operational urgency even when both exceed a simple threshold.

Reference

Alert on a response-worthy condition

An alert should justify an action by a named responder. If the condition can wait until the next working day, it may belong in a ticket or review report instead of an urgent page.

A proposed policy can distinguish rapid consumption of the error budget from slower deterioration. The exact thresholds and windows should be tested against the service's traffic and incident history.

Do not adopt a formula without examining low-volume periods. One failed request among very few requests can produce a dramatic percentage that does not justify the same response as widespread failure under normal load.

Use more than one view of time

A short window catches acute problems but can be noisy. A longer window provides context but can hide a new failure if used alone.

Compare the policy's behaviour during brief spikes, sustained degradation and recovery. The team should understand why an alert fires and what condition clears it.

Keep symptom alerts and diagnosis separate

The symptom is that a customer journey is failing or too slow. CPU, memory, database locks and queue depth can help explain the cause.

A responder needs both, but they serve different purposes. Alerting directly on every diagnostic metric can create noise and obscure the service event that matters.

Link the service alert to a focused investigation view. Show recent deployments, dependency health and the relevant infrastructure signals. Avoid forcing the responder to search across an unrelated collection of dashboards while the user-facing failure continues.

Service symptomUseful diagnostic signalsFirst operational question
Login cannot completeIdentity provider errors and application tracesCan users reach an alternate safe path?
Case submission is slowDatabase waits and worker queue ageIs accepted work preserved?
Customer record lookup failsAPI errors and permission-service healthIs the problem broad or tenant-specific?
Call connection failsCarrier responses and routing stateIs a tested alternate route available?

Treat dependencies according to their effect

A third-party service can be unavailable without breaking every journey. A reporting provider may affect only enrichment, while an identity provider can prevent access to the entire portal.

Measure the customer-facing consequence and keep dependency alerts as supporting context. Otherwise the same failure can create several pages for what should be one coordinated incident.

A dependency contract does not replace your own measurement. Customers experience the integrated service, including your configuration, network path and recovery behaviour.

Define what happens when the budget is under pressure

An error budget is useful when it changes a decision. The team might postpone a risky release, prioritize a recurring defect or add capacity where evidence supports it.

Agree the response policy before an incident. An exhausted budget should not become a debate about whether the metric is fair every time it is inconvenient.

Keep the policy proportionate. Freezing all work can prevent a corrective change. Distinguish reliability improvements from unrelated risk and let the accountable owner approve exceptions with a recorded reason.

Avoid using the budget as a blame score

The objective concerns the service. It should help teams decide where to invest and what risk to accept.

If the metric becomes a performance weapon, people have an incentive to redefine failures rather than fix them. Review the measurement with the people operating the service and the people affected by its failures.

Validate the telemetry before trusting the target

Check that missing data is not counted as success. Verify that counters survive restarts and that timestamps are consistent. Confirm that the collection path can itself fail visibly.

Compare the indicator with sampled real transactions and support reports. A dashboard can be internally consistent while measuring the wrong event.

For asynchronous work, define whether success means accepted, processed or delivered. A queue that accepts a job but never completes it should not make the service look healthy if completion is the business outcome.

A hypothetical portal rollout

A business portal currently alerts on server resource thresholds. The team chooses customer case submission as its first service journey because losing a request has a clear operational consequence.

It records whether valid submissions are durably saved and whether the user receives confirmation. Diagnostic dashboards show database waits, application errors and worker health.

During a test, the application saves a request but the confirmation path fails. The team decides how to measure that user experience and ensures a repeated submission does not create uncontrolled duplicates.

The pilot then compares alert behaviour with historical incidents and ordinary traffic variation. Only after responders trust the indicator does the team use it to guide release decisions.

Fit the stack to the service

Prometheus and Grafana can be part of the implementation, but the difficult work is defining the event and response policy. A different monitoring stack can implement the same service-level thinking.

Use the application's existing telemetry where it is accurate. Add measurements where the business outcome is currently invisible. Avoid collecting every possible metric before the first objective is useful.

Document the query, eligibility rules, owner and known limitations. A target without that context will be interpreted differently by each team that inherits it.

Runbooks should answer the first five minutes

The runbook should state what the alert means, which users or journeys are affected and what safe actions are available. Include how to verify recovery and when to escalate.

Provide a link to the relevant job or request evidence without exposing sensitive content broadly. List the conditions under which a rollback or failover is appropriate.

After an incident, review whether the alert arrived in time and whether it pointed to useful work. Adjust the policy based on evidence rather than simply increasing thresholds to reduce noise.

Build the alert around a user journey

Choose a journey that the business can recognize, such as a customer submitting a support case or an employee opening a remote application. Define what a successful attempt means at the boundary you can measure. A page returning an HTTP response is not enough if the required record was never saved.

Specify which attempts enter the measurement. Internal health checks, malformed requests and deliberate access denials may need separate treatment from valid user transactions. Write the rule down so an apparent improvement cannot be created by quietly excluding difficult traffic.

Then choose the measurement window and target with the service owner. These are business decisions informed by operating evidence, not universal numbers to copy from another company. The target should reflect the consequence of failure and the team's ability to respond.

A low-volume service needs particular care. One failed transaction can produce a dramatic percentage without explaining whether a broad outage exists. Combine the rate with transaction counts and direct evidence of customer impact. The alert should communicate uncertainty rather than hide it behind a precise-looking chart.

Route a notification to a useful response

The person receiving an alert needs the affected journey, time range and evidence link. Include a short first action, such as checking the write path or verifying an external dependency. Keep detailed background in the runbook so the notification remains readable.

Agree who receives the first notification and how escalation works when nobody acknowledges it. An accurate alert sent to an unattended channel still fails operationally. Test the routing during normal hours before relying on it during an incident.

Do not make every threshold a page. Some conditions justify a ticket, trend review or capacity discussion. Reserve urgent interruption for conditions that need timely human action. This distinction helps the team preserve attention for events that threaten the service commitment.

Review alerts after real operating changes

A release can alter request volume, transaction duration or the dependencies used by a journey. Revisit the measurement after those changes. Otherwise, the alert may remain technically functional while measuring a path that no longer represents the user experience.

During a review, examine both incidents that produced alerts and incidents discovered elsewhere. A quiet pager is not evidence of a reliable service if customers are reporting failures the monitoring system cannot see. Equally, a busy pager may reflect poorly chosen thresholds rather than frequent business disruption.

Keep a record of changes to alert definitions and the reason for each change. This makes it possible to understand shifts in reported reliability. Avoid improving the chart by weakening the success definition without the service owner's knowledge.

For an initial monitoring review, bring the critical journeys, current notifications and examples of recent incidents. Include the response actions that helped and the alerts that provided no useful information. That material supports a concrete discussion about instrumentation, ownership and escalation.

An SLO program earns its place when it improves operating decisions: whether to release, investigate, add capacity or pause a risky change. The target and dashboard are supporting tools. The outcome is a service team that can recognize meaningful deterioration and respond before more work is affected.

Questions about SLOs

Is an SLO the same as a customer SLA?

An SLO is an internal or operational objective for a defined service indicator. A customer SLA is a contractual agreement and can have different terms, measurements and consequences.

Should infrastructure thresholds be removed?

Infrastructure thresholds remain useful where they predict actionable risks or support diagnosis. SLO alerting adds a service-outcome perspective rather than making every resource metric irrelevant.

What if the service has very little traffic?

Low-volume services need careful treatment of percentages and alert windows. Combine appropriate transaction evidence, synthetic checks and operational judgement instead of copying high-volume thresholds unchanged.

Start with one objective responders believe

A trustworthy objective for one important journey is more useful than a broad scorecard whose definitions nobody can explain.

Reference

Discuss your requirements

Services This Relates To

Written by KYCONNECTS Engineering. Client names are withheld under confidentiality.

Talk Through Your Requirements

We typically respond within 4–8 business hours.