Skip to content

Phase 5 — Observability, SRE & Incident Response ​

Source-inspected 11 October 2026. These are educational, project-grounded labs, not confirmation of continuous service availability or production readiness. Default commands are read-only; local failure generation is explicitly optional.

Choose the investigation path ​

LessonEngineering questionRepo evidence
01. Telemetry architectureHow do metrics, logs, traces and alerts travel?Docker Compose and OTel Collector
02. Prometheus and REDHow do I query rates, errors and latency without misleading myself?Prometheus scrape and application rules
03. Traces and structured logsHow can I connect a failing request to a trace?Collector, Loki and Tempo
04. Grafana investigationsWhich dashboard or query answers the incident question?Provisioned RED and SLO dashboards
05. SLOs and budgetsHow reliable is the user experience, over what window?Availability/latency recording rules
06. Alerts and testsIs the alert actionable and has its logic been tested?promtool fixture and burn-rate rules
07. Incident responseHow do we mitigate while preserving evidence?Target-down and API alerts
08. PlatformPilot diagnosticsHow do auth, Kubernetes and Prometheus failures differ?FastAPI metrics router and service
09. CloudOps decisionsWho can approve action, and what is recorded?Decision trace and operational telemetry
10. Capstone & reviewCan I explain an incident end to end?Cross-project synthesis (proposed exercise)

Reference architecture ​

text
FastAPI demo-api ---> Prometheus scrape ---> Recording rules and alerts
       |                                          |
       +--> OTLP traces --> OTel Collector --> Tempo         Alertmanager
       |                                          |               |
       +--> JSON logs ---> OTel Collector --> Loki            Slack (optional)
                                                    \\          /
                                                    Grafana queries

PlatformPilot -> Kubernetes API and Prometheus (a separate application)
            -> structured findings (operator role only)
            -> CloudOps ingestion -> verification -> human approval

Separation of systems: the local observability Compose stack is not a preconfigured data pipeline into PlatformPilot/CloudOps. Lessons compare implemented components, and the capstone proposes how to connect them safely rather than claiming the integration is already deployed.

Environment and safety ​

  • Read-only query examples assume the local observability Compose stack is already running. Do not start cloud resources for this handbook.
  • Some examples require curl, python3, Docker and promtool; unavailable tools are optional, not reasons to force deployment.
  • The observability stack's Docker Compose references a local Slack webhook secret. Follow its README and never put webhooks in source control.
  • Be deliberate when generating /error or /slow traffic: only do so on the isolated local demo API, never an external or production application.
  • Confirm repo revision, scrape labels and versions before copying queries.

Evidence standard ​

For each exercise record: the question, time window, command/query, expected signal, observed result, decision, limitations, and rollback or cleanup if applicable. Never fabricate an incident result.

Related: Chapter 9 — Observability · Engineering Evidence Guide · Observability repository.

Built from verified projects, decisions, commands and lessons.