Systems Troubleshooting
Systems troubleshooting is a disciplined way to find why a system behaves differently from what you expect. It applies the hypothetico-deductive method to operations: collect evidence, form plausible hypotheses, test them safely, restore useful service, and record what you learned.
itInfrastructure and operations | OpenSkills.info
Course pathWalk it in order
Look it upDip in anytime
Go furtherLeaves this page
Don't Panic
Don't Panic — Systems Troubleshooting
Systems troubleshooting is a disciplined way to find why a system behaves differently from what you expect. Google's SRE book frames it as the hypothetico-deductive method applied to a running system: take observations and a model of how things should work, form hypotheses, test them, and keep what survives.
Before this was a method, a broken system was fixed by whoever built it, guessing at the most dramatic failure they could imagine. The method exists so that fixing a system does not depend on having built it, and so the cause is found before the responder runs out of time or evidence.
Three ideas hold the practice up. Triage before root cause: in a severe outage, stop the bleeding first — divert traffic, drop load, disable a subsystem — and preserve evidence while you do. Novice pilots are taught to fly the airplane first and troubleshoot second, and a responder who root-causes while the system dies is not helping users. Examine with metrics, logs, traces, and change history, none of which is a diagnosis on its own; the model of how the system should behave is what turns evidence into a hypothesis. And test the most likely and lowest-risk hypothesis first, one variable at a time, with the expected result and rollback stated before the change.
The one thing that surprises people: correlation is not causation. In a large system with many metrics, events correlate by coincidence, and two correlated events often share a common cause rather than one causing the other. A graph that lines up is an investigation target, not a conclusion.
The thing that catches every team: latching onto the cause of the last incident. It happened before, so it must be happening again — the SRE book names this as a common pitfall. "When you hear hoofbeats, think of horses, not zebras": prefer probable causes over dramatic ones, and let evidence rule the past out.
A subtle trap: the tools that give you evidence can change the system. Verbose logging worsens a latency problem, so the responder cannot tell whether the problem worsened on its own or because of the logging. Active tests have side effects, and a test that changes the system changes every later observation.
And the boundary on the whole effort: a root cause is often plural, not singular. Real systems often have several factors that are individually insufficient but jointly causative; a postmortem that names a single cause can satisfy a process while leaving the contributing conditions in place.
Read the Intro for the full hypothetico-deductive loop and the common pitfalls the SRE book names. The Cheatsheet holds the narrowing techniques — boundary walk, bisection, what/where/why — side by side. The Timeline shows how a practice that started with Toyota's Five Whys gained distributed tracing, the SRE book, OpenTelemetry, and eBPF — and why the method has stayed the same while the evidence got richer.
Where this skill leads
Relevant careers
See how this topic contributes to broader role-level skill maps.
Sources
- https://sre.google/sre-book/effective-troubleshooting/
Supports
- Hypothetico-deductive model
- problem reports
- triage
- examine
- diagnose
- test and treat
- cure
- common pitfalls
- negative results
- bisection
- correlation vs causation
- https://sre.google/sre-book/monitoring-distributed-systems/
Supports
- Four monitoring outputs
- distinction between collecting data and deciding to act
- https://sre.google/sre-book/emergency-response/
Supports
- Emergency response alongside troubleshooting for severe incidents
- https://sre.google/sre-book/managing-incidents/
Supports
- Incident command structure surrounding troubleshooting
- https://sre.google/sre-book/postmortem-culture/
Supports
- Blameless postmortem closing the troubleshooting loop
- https://opentelemetry.io/docs/concepts/observability-primer/
Supports
- Vendor-neutral observability model combining metrics
- logs
- and traces
- https://opentelemetry.io/
Supports
- Merger of OpenTracing and OpenCensus 2019
- stable metrics 2021
- https://en.wikipedia.org/wiki/Five_whys
Supports
- Five Whys technique introduced by Taiichi Ohno at Toyota
- https://en.wikipedia.org/wiki/Hypothetico-deductive_model
Supports
- Hypothetico-deductive model as the method of science
- https://en.wikipedia.org/wiki/Chaos_engineering
Supports
- Chaos engineering formalized by Netflix 2014 as the preventive counterpart to troubleshooting
- https://en.wikipedia.org/wiki/Distributed_tracing
Supports
- Dapper distributed tracing published by Google 2010
- https://prometheus.io/
Supports
- Prometheus time-series metrics for trend and saturation analysis
- https://en.wikipedia.org/wiki/Prometheus_(software)
Supports
- Prometheus CNCF acceptance 2016
- graduation 2018
- https://grafana.com/docs/grafana/latest/
Supports
- Grafana dashboard surface for the evidence set
- https://www.jaegertracing.io/
Supports
- Jaeger distributed tracing backend
- https://zipkin.io/
Supports
- Zipkin open-source distributed tracing from the Dapper paper
- https://www.honeycomb.io/
Supports
- Honeycomb high-cardinality event observability platform
- https://www.datadoghq.com/
Supports
- Datadog managed observability platform
- https://www.dynatrace.com/
Supports
- Dynatrace AI-assisted observability and root-cause hypothesis ranking
- https://www.splunk.com/
Supports
- Splunk log and event analytics
- https://www.elastic.co/
Supports
- Elastic Stack log aggregation and search
- https://sentry.io/
Supports
- Sentry error tracking with stack traces
- https://www.tcpdump.org/
Supports
- tcpdump packet capture for the network boundary
- https://strace.io/
Supports
- strace system-call tracing for a single process
- https://www.brendangregg.com/perf.html
Supports
- Linux perf profiling for the where question
- https://en.wikipedia.org/wiki/EBPF
Supports
- eBPF kernel-level tracing and observability mainstream 2023
