Template preview · Software
Service runbook
Give operators a reliable manual path for routine service work.
An operational runbook for a fictional service.
Sample purpose
Give operators a reliable manual path for routine service work.
Audience: SRE, Support engineer- Structure
- 4 sections
- Criteria
- 16
- Sources
- 10
- Watches
- 4
- Default approach
- Review first
Set the purpose first. Then change every section, criterion, and agent setting before anything runs.
Fictional sample
Structure and criteria
Sample content shows the shape of a useful document. Copying it is optional.
01 Review firstService overview
Explain what the service does and who depends on it.
Criteria
- Names the primary dependency and what breaks if it fails
- Scopes customer impact to a feature (appointment reminders)
- Describes purpose in customer terms, not broker internals
- Readable in under 60 seconds by a new on-call
Sources
- Kestrel Mail service metadata (fictional) api.kestrelmail.examplePurpose, impact scope and dependencies.
- Kestrel Mail delivery worker contract (fictional) api.kestrelmail.exampleBehavior when the worker is degraded.
- Google SRE: monitoring distributed systems sre.googleWhat operators should be able to see.
Watches
- Checks api.github.com weekly
Agent may read api.github.com.
Sample content
Kestrel Mail queues scheduled notices for fictional storefronts. It depends on the delivery worker and affects customer appointment reminders.
02 Review firstRoutine checks
List observable checks an operator can perform.
Criteria
- Each check has a numeric threshold (queue age under five minutes)
- Each check can be done from dashboards with no SSH or database access
- Checks that send test notices target test accounts only
- All checks together take under two minutes
Sources
- RabbitMQ monitoring rabbitmq.comQueue and node health signals.
- Kestrel Mail health checks (fictional) monitoring.kestrelmail.exampleQueue age and heartbeat values.
Watches
- Follows Service overview
Sample content
- ☑ Queue age remains below five minutes
- ☑ Worker heartbeat appears within two minutes
- ☑ Test notice is not sent to a real recipient
03 Review firstDiagnosis guide
Connect symptoms to safe first investigations.
Criteria
- Each symptom is what the customer or alert shows, not an internal state
- First check is read-only and bounded
- Escalation is a number (age above 15 minutes, more than 3 duplicates)
- A responder can reach a diagnosis or escalate within 15 minutes
Sources
- RabbitMQ troubleshooting rabbitmq.comCommon queue failure modes.
- Google SRE: effective troubleshooting sre.googleLinking symptoms to causes.
- Kestrel Mail incidents (fictional) incidents.kestrelmail.exampleSymptoms seen in past incidents.
Watches
- Follows Routine checks
Sample content
Symptom First check Escalate when Queue age rising Inspect worker heartbeat Age exceeds 15 minutes. Notices duplicated Inspect idempotency key log More than 3 duplicates. 04 Review firstMaintenance history
Record planned checks and manual reviews.
Criteria
- Each entry has a date, reviewer and a concrete result (queue replay in 18 minutes)
- Results record issues found, not 'checked OK'
- Entries show a regular cadence, at least quarterly
- Stated durations match what drills actually took, within 20%
Sources
- Kestrel Mail maintenance calendar (fictional) calendar.kestrelmail.examplePlanned drills and reviews.
- Kestrel Mail postmortems (fictional) incidents.kestrelmail.exampleUnplanned findings to record.
Watches
- Follows Diagnosis guide
Sample content
- 2026-01-28 · Recovery drillFictional queue replay completed in 18 minutes.