From 0ecd6ba6ff0e80f8f23f509c122d0247da0f5584 Mon Sep 17 00:00:00 2001 From: Elvira <239804565+HNS2112@users.noreply.github.com> Date: Mon, 3 Aug 2026 22:31:07 +0300 Subject: [PATCH 1/3] docs: add PR template; ignore runtime data dir Signed-off-by: Elvira <239804565+HNS2112@users.noreply.github.com> --- .github/pull_request_template.md | 13 +++++++++++++ .gitignore | 2 ++ 2 files changed, 15 insertions(+) create mode 100644 .github/pull_request_template.md diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 000000000..f336a9fbd --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,13 @@ +## Goal + + +## Changes +- + +## Testing + + +## Checklist +- [ ] Title is a clear sentence (≤ 70 chars) +- [ ] Commits are signed (`git log --show-signature`) +- [ ] `submissions/labN.md` updated diff --git a/.gitignore b/.gitignore index 1c0a1e94b..966b15200 100644 --- a/.gitignore +++ b/.gitignore @@ -61,3 +61,5 @@ Thumbs.db # *.sbom.cdx.json, zap-*.html/json, trivy-*.txt (Lab 9 scan evidence) # flake.nix, flake.lock (Lab 11) # wasm/main.go, spin.toml, go.sum (Lab 12) +data/ +app/data/ From 8768460afe0b3273bc441dd8b60ac000509128cc Mon Sep 17 00:00:00 2001 From: HNS <239804565+HNS2112@users.noreply.github.com> Date: Tue, 4 Aug 2026 19:44:42 +0300 Subject: [PATCH 2/3] docs: upstream moved while you worked Signed-off-by: HNS <239804565+HNS2112@users.noreply.github.com> From 4823fdb5423135c4f88bbde8111814a919a2f9a4 Mon Sep 17 00:00:00 2001 From: HNS <239804565+HNS2112@users.noreply.github.com> Date: Thu, 6 Aug 2026 20:40:45 +0300 Subject: [PATCH 3/3] feat(lab8): monitoring stack, golden-signals dashboard, alert and runbook Signed-off-by: HNS <239804565+HNS2112@users.noreply.github.com> --- app/Dockerfile | 24 ++ app/handlers.go | 3 + app/handlers_test.go | 1 - compose.yaml | 56 +++ docs/runbook/high-error-rate.md | 61 +++ evidence/lab8/lab8-alert-firing.png | Bin 0 -> 119864 bytes evidence/lab8/lab8-dashboard.png | Bin 0 -> 110922 bytes evidence/lab8/prometheus-state.txt | 21 + .../grafana/dashboards/golden-signals.json | 105 +++++ .../provisioning/dashboards/dashboard.yml | 11 + .../provisioning/datasources/datasource.yml | 8 + monitoring/prometheus/alerts.yml | 16 + monitoring/prometheus/prometheus.yml | 10 + submissions/lab8.md | 408 ++++++++++++++++++ 14 files changed, 723 insertions(+), 1 deletion(-) create mode 100644 app/Dockerfile create mode 100644 compose.yaml create mode 100644 docs/runbook/high-error-rate.md create mode 100644 evidence/lab8/lab8-alert-firing.png create mode 100644 evidence/lab8/lab8-dashboard.png create mode 100644 evidence/lab8/prometheus-state.txt create mode 100644 monitoring/grafana/dashboards/golden-signals.json create mode 100644 monitoring/grafana/provisioning/dashboards/dashboard.yml create mode 100644 monitoring/grafana/provisioning/datasources/datasource.yml create mode 100644 monitoring/prometheus/alerts.yml create mode 100644 monitoring/prometheus/prometheus.yml create mode 100644 submissions/lab8.md diff --git a/app/Dockerfile b/app/Dockerfile new file mode 100644 index 000000000..7f43d41ae --- /dev/null +++ b/app/Dockerfile @@ -0,0 +1,24 @@ +# syntax=docker/dockerfile:1 + +FROM golang:1.24.6-bookworm AS builder +WORKDIR /src +COPY go.mod go.su[m] ./ +RUN go mod download +COPY . . +RUN CGO_ENABLED=0 go build \ + -trimpath \ + -ldflags='-s -w' \ + -o /out/quicknotes . +RUN mkdir -p /data-empty + +FROM busybox:1.37-uclibc AS busybox + +FROM gcr.io/distroless/static:nonroot +WORKDIR /app +COPY --from=builder /out/quicknotes /app/quicknotes +COPY --from=builder /src/seed.json /app/seed.json +COPY --from=busybox /bin/wget /bin/wget +COPY --from=builder --chown=65532:65532 /data-empty /data +USER nonroot:nonroot +EXPOSE 8080 +ENTRYPOINT ["/app/quicknotes"] diff --git a/app/handlers.go b/app/handlers.go index c534979c5..8fd457568 100644 --- a/app/handlers.go +++ b/app/handlers.go @@ -50,6 +50,9 @@ func (sw *statusWriter) WriteHeader(code int) { func (s *Server) wrap(h http.HandlerFunc) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { sw := &statusWriter{ResponseWriter: w, code: 200} + w.Header().Set("X-Content-Type-Options", "nosniff") + w.Header().Set("Cross-Origin-Resource-Policy", "same-origin") + w.Header().Set("Cache-Control", "no-store") h(sw, r) s.requestsTotal.Add(1) if c, ok := s.requestsByCode[sw.code]; ok { diff --git a/app/handlers_test.go b/app/handlers_test.go index 9dff2e3e5..461b348ba 100644 --- a/app/handlers_test.go +++ b/app/handlers_test.go @@ -130,4 +130,3 @@ func TestMetrics_ExposesPrometheusFormat(t *testing.T) { } } } - diff --git a/compose.yaml b/compose.yaml new file mode 100644 index 000000000..f03d2da38 --- /dev/null +++ b/compose.yaml @@ -0,0 +1,56 @@ +services: + quicknotes: + build: ./app + image: quicknotes:lab6 + ports: + - "8080:8080" + environment: + ADDR: ":8080" + DATA_PATH: /data/notes.json + SEED_PATH: /app/seed.json + healthcheck: + test: ["CMD", "/bin/wget", "-q", "-O", "-", "http://127.0.0.1:8080/health"] + interval: 10s + timeout: 3s + retries: 3 + start_period: 5s + cap_drop: + - ALL + read_only: true + tmpfs: + - /tmp + security_opt: + - no-new-privileges:true + volumes: + - quicknotes-data:/data + restart: unless-stopped + + prometheus: + image: prom/prometheus:v3.7.3 + volumes: + - ./monitoring/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml:ro + - ./monitoring/prometheus/alerts.yml:/etc/prometheus/alerts.yml:ro + ports: + - "9090:9090" + depends_on: + quicknotes: + condition: service_healthy + restart: unless-stopped + + grafana: + image: grafana/grafana:13.1.2 + environment: + GF_SECURITY_ADMIN_USER: admin + GF_SECURITY_ADMIN_PASSWORD: Qn-Lab6-Gf-9x2v + volumes: + - ./monitoring/grafana/provisioning:/etc/grafana/provisioning:ro + - ./monitoring/grafana/dashboards:/var/lib/grafana/dashboards:ro + ports: + - "3000:3000" + depends_on: + - prometheus + restart: unless-stopped + + +volumes: + quicknotes-data: diff --git a/docs/runbook/high-error-rate.md b/docs/runbook/high-error-rate.md new file mode 100644 index 000000000..08860b7aa --- /dev/null +++ b/docs/runbook/high-error-rate.md @@ -0,0 +1,61 @@ +# Runbook — HighErrorRate + +**Alert:** `HighErrorRate` +**Severity:** `page` +**Expression:** 4xx+5xx ratio > 5% sustained for 5 minutes + +--- + +## What this alert means + +More than one in twenty requests to QuickNotes is failing, and has been for at +least five minutes — users are being turned away right now. + +--- + +## Triage steps + +1. **Confirm the service is up at all.** +A non-200 or a container not in `healthy` state means this is an outage, not + an error-rate problem — skip to Mitigation 1. + +2. **Find out which status code dominates.** Open the Errors panel on the + *QuickNotes — Golden Signals* dashboard, or query Prometheus directly: +4xx means clients are sending bad requests — a broken caller, a bad deploy on + their side, or someone probing. 5xx means QuickNotes itself is failing. + +3. **Check whether a deploy correlates with the onset.** Compare the time the + ratio started climbing against the container start time: +If the error onset lines up with a restart, treat the deploy as the cause + until proven otherwise. + +4. **Check disk and the data volume.** The store writes to `/data`; a full or + read-only volume produces 5xx on every write: +--- + +## Mitigations + +1. **Roll back to the previous image.** Fastest fix when the onset correlates + with a deploy. Stop the current container first — starting a second instance + on the same port fails with `bind: address already in use`: +Verify with `curl -s http://localhost:8080/health` before declaring recovery. + +2. **Restart the container.** Clears wedged state such as an exhausted + connection pool or a stuck file handle. Data survives — it lives in the named + volume, not the container: +3. **If the errors are 4xx from a single caller**, the application is behaving + correctly and the fix is upstream. Rate-limit or block that client at the + proxy rather than changing QuickNotes. + +--- + +## Post-incident + +Write a blameless postmortem covering: timeline (first bad request → alert fired +→ mitigation → recovery), user impact in requests and minutes, root cause, and +the specific change that prevents recurrence. Follow the structure used in +`submissions/lab4.md` §2.4 — summary, timeline, what went wrong, why it was hard +to see, what prevents it. + +Then check this alert itself: if it fired and no user was actually affected, +that is a tuning bug, and it belongs in the postmortem's action items. diff --git a/evidence/lab8/lab8-alert-firing.png b/evidence/lab8/lab8-alert-firing.png new file mode 100644 index 0000000000000000000000000000000000000000..858dd7188e22d63ab40c8021ad689ee8f3624807 GIT binary patch literal 119864 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 literal 0 HcmV?d00001 diff --git a/evidence/lab8/lab8-dashboard.png b/evidence/lab8/lab8-dashboard.png new file mode 100644 index 0000000000000000000000000000000000000000..911fe64ad92069dd6d8f5cade91c5631f3a8a118 GIT binary patch literal 110922 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%0Drb#(OGLOJm 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 Q9wss$(L0=~dH%-#17S#sX8-^I literal 0 HcmV?d00001 diff --git a/evidence/lab8/prometheus-state.txt b/evidence/lab8/prometheus-state.txt new file mode 100644 index 000000000..049a035b0 --- /dev/null +++ b/evidence/lab8/prometheus-state.txt @@ -0,0 +1,21 @@ +$ curl -s http://localhost:9090/api/v1/targets | jq ... +{ + "job": "quicknotes", + "health": "up", + "scrapeUrl": "http://quicknotes:8080/metrics" +} + +$ curl -s http://localhost:9090/api/v1/rules | jq ... +{ + "name": "HighErrorRate", + "state": "firing", + "duration": 300, + "labels": { + "severity": "page" + }, + "activeAt": "2026-08-06T17:28:12.464142167Z", + "value": "4.7951176983435045e-01" +} + +$ error ratio at firing time +0.47951176983435045 diff --git a/monitoring/grafana/dashboards/golden-signals.json b/monitoring/grafana/dashboards/golden-signals.json new file mode 100644 index 000000000..abe119eb2 --- /dev/null +++ b/monitoring/grafana/dashboards/golden-signals.json @@ -0,0 +1,105 @@ +{ + "uid": "quicknotes-golden", + "title": "QuickNotes — Golden Signals", + "tags": ["quicknotes", "sre"], + "timezone": "browser", + "schemaVersion": 39, + "version": 1, + "refresh": "10s", + "time": { "from": "now-30m", "to": "now" }, + "panels": [ + { + "id": 1, + "type": "timeseries", + "title": "Latency (proxy: scrape duration)", + "description": "QuickNotes exposes no request-duration histogram, so true per-request latency is unavailable. This panel shows Prometheus scrape duration for the target as the closest available proxy for how long the app takes to answer an HTTP request. See submissions/lab8.md for why this substitution was necessary.", + "gridPos": { "h": 8, "w": 12, "x": 0, "y": 0 }, + "fieldConfig": { + "defaults": { + "unit": "s", + "custom": { "lineWidth": 2, "fillOpacity": 10 } + }, + "overrides": [] + }, + "targets": [ + { + "refId": "A", + "expr": "scrape_duration_seconds{job=\"quicknotes\"}", + "legendFormat": "scrape duration" + } + ] + }, + { + "id": 2, + "type": "timeseries", + "title": "Traffic (requests/sec)", + "description": "rate() of the total HTTP request counter over a 5m window.", + "gridPos": { "h": 8, "w": 12, "x": 12, "y": 0 }, + "fieldConfig": { + "defaults": { + "unit": "reqps", + "custom": { "lineWidth": 2, "fillOpacity": 10 } + }, + "overrides": [] + }, + "targets": [ + { + "refId": "A", + "expr": "rate(quicknotes_http_requests_total[5m])", + "legendFormat": "requests/sec" + } + ] + }, + { + "id": 3, + "type": "timeseries", + "title": "Errors (4xx + 5xx ratio)", + "description": "Ratio of 4xx and 5xx responses to all responses. This is the expression the alert rule fires on.", + "gridPos": { "h": 8, "w": 12, "x": 0, "y": 8 }, + "fieldConfig": { + "defaults": { + "unit": "percentunit", + "min": 0, + "max": 1, + "custom": { "lineWidth": 2, "fillOpacity": 10 }, + "thresholds": { + "mode": "absolute", + "steps": [ + { "color": "green", "value": null }, + { "color": "red", "value": 0.05 } + ] + } + }, + "overrides": [] + }, + "targets": [ + { + "refId": "A", + "expr": "sum(rate(quicknotes_http_responses_by_code_total{code=~\"4..|5..\"}[5m])) / clamp_min(sum(rate(quicknotes_http_responses_by_code_total[5m])), 0.001)", + "legendFormat": "error ratio" + } + ] + }, + { + "id": 4, + "type": "timeseries", + "title": "Saturation (notes stored)", + "description": "quicknotes_notes_total gauge — the store is in-process and file-backed, so the number of stored notes is the closest available saturation signal.", + "gridPos": { "h": 8, "w": 12, "x": 12, "y": 8 }, + "fieldConfig": { + "defaults": { + "unit": "short", + "custom": { "lineWidth": 2, "fillOpacity": 10 } + }, + "overrides": [] + }, + "targets": [ + { + "refId": "A", + "expr": "quicknotes_notes_total", + "legendFormat": "notes stored" + } + ] + } + ] +} diff --git a/monitoring/grafana/provisioning/dashboards/dashboard.yml b/monitoring/grafana/provisioning/dashboards/dashboard.yml new file mode 100644 index 000000000..f5d651502 --- /dev/null +++ b/monitoring/grafana/provisioning/dashboards/dashboard.yml @@ -0,0 +1,11 @@ +apiVersion: 1 + +providers: + - name: golden-signals + orgId: 1 + folder: '' + type: file + disableDeletion: false + updateIntervalSeconds: 10 + options: + path: /var/lib/grafana/dashboards diff --git a/monitoring/grafana/provisioning/datasources/datasource.yml b/monitoring/grafana/provisioning/datasources/datasource.yml new file mode 100644 index 000000000..86fd3465e --- /dev/null +++ b/monitoring/grafana/provisioning/datasources/datasource.yml @@ -0,0 +1,8 @@ +apiVersion: 1 + +datasources: + - name: Prometheus + type: prometheus + access: proxy + url: http://prometheus:9090 + isDefault: true diff --git a/monitoring/prometheus/alerts.yml b/monitoring/prometheus/alerts.yml new file mode 100644 index 000000000..abf3f747c --- /dev/null +++ b/monitoring/prometheus/alerts.yml @@ -0,0 +1,16 @@ +groups: + - name: quicknotes + rules: + - alert: HighErrorRate + expr: | + sum(rate(quicknotes_http_responses_by_code_total{code=~"4..|5.."}[5m])) + / + clamp_min(sum(rate(quicknotes_http_responses_by_code_total[5m])), 0.001) + > 0.05 + for: 5m + labels: + severity: page + annotations: + summary: "QuickNotes error ratio above 5% for 5 minutes" + description: "Error ratio is {{ $value | humanizePercentage }} over the last 5 minutes." + runbook_url: "https://github.com/HNS2112/DevOps-Intro/blob/feature/lab8/docs/runbook/high-error-rate.md" diff --git a/monitoring/prometheus/prometheus.yml b/monitoring/prometheus/prometheus.yml new file mode 100644 index 000000000..182182d74 --- /dev/null +++ b/monitoring/prometheus/prometheus.yml @@ -0,0 +1,10 @@ +global: + scrape_interval: 15s + +rule_files: + - /etc/prometheus/alerts.yml + +scrape_configs: + - job_name: quicknotes + static_configs: + - targets: ['quicknotes:8080'] diff --git a/submissions/lab8.md b/submissions/lab8.md new file mode 100644 index 000000000..8265309dc --- /dev/null +++ b/submissions/lab8.md @@ -0,0 +1,408 @@ +# Lab 8 — SRE & Monitoring: Golden Signals Dashboard + One Good Alert + +**Author:** HNS ([@HNS2112](https://github.com/HNS2112)) +**Date:** 6 August 2026 +**Environment:** Ubuntu 24.04, Docker 29.1.3, Prometheus v3.7.3, Grafana 13.1.2 + +Raw output is committed under `evidence/lab8/`; configuration under `monitoring/`. + +--- + +## Task 1 — Prometheus + Grafana with a Provisioned Dashboard + +### 1.1 Layout + +``` +monitoring/ +├── prometheus/ +│ ├── prometheus.yml +│ └── alerts.yml +└── grafana/ + ├── provisioning/ + │ ├── datasources/datasource.yml + │ └── dashboards/dashboard.yml + └── dashboards/golden-signals.json +``` + +### 1.2 Prometheus config + +```yaml +global: + scrape_interval: 15s + +rule_files: + - /etc/prometheus/alerts.yml + +scrape_configs: + - job_name: quicknotes + static_configs: + - targets: ['quicknotes:8080'] +``` + +The target is `quicknotes:8080` — the Compose *service name*, not `localhost`. +Inside the Compose network Docker's embedded DNS resolves service names to +container IPs. `localhost` inside the Prometheus container would mean Prometheus +itself. + +### 1.3 Grafana provisioning + +**Data source** (`provisioning/datasources/datasource.yml`): + +```yaml +apiVersion: 1 + +datasources: + - name: Prometheus + type: prometheus + access: proxy + url: http://prometheus:9090 + isDefault: true +``` + +**Dashboard provider** (`provisioning/dashboards/dashboard.yml`): + +```yaml +apiVersion: 1 + +providers: + - name: golden-signals + orgId: 1 + folder: '' + type: file + disableDeletion: false + updateIntervalSeconds: 10 + options: + path: /var/lib/grafana/dashboards +``` + +The provider's `path` must match where the JSON is mounted in the Compose file — +this is the pairing the lab's pitfalls list calls out, and getting it wrong +produces a Grafana that starts fine and shows nothing. + +### 1.4 The four panels + +QuickNotes exposes these metrics: + +``` +quicknotes_notes_total gauge +quicknotes_notes_created_total counter +quicknotes_notes_deleted_total counter +quicknotes_http_requests_total counter +quicknotes_http_responses_by_code_total counter (label: code) +``` + +| Signal | Query | +|---|---| +| Latency | `scrape_duration_seconds{job="quicknotes"}` | +| Traffic | `rate(quicknotes_http_requests_total[5m])` | +| Errors | `sum(rate(quicknotes_http_responses_by_code_total{code=~"4..\|5.."}[5m])) / clamp_min(sum(rate(quicknotes_http_responses_by_code_total[5m])), 0.001)` | +| Saturation | `quicknotes_notes_total` | + +**On the Latency panel.** QuickNotes exposes no request-duration histogram, so +true per-request latency is not measurable from these metrics. Requirement 1.3 +allows a proxy. Rather than the suggested request-rate substitution — which +duplicates the Traffic panel and measures volume, not time — this dashboard uses +`scrape_duration_seconds`: the time Prometheus spends fetching `/metrics`, which +is at least a real measurement of how long the application takes to answer an +HTTP request. It is still a proxy, and a poor one: it measures one endpoint on a +15-second cadence and would not show a slow `POST /notes` at all. Fixing this +properly means instrumenting the application with a histogram, which is outside +this lab's scope but is the honest answer to "how do I monitor latency here". + +**On the Errors panel.** The denominator is wrapped in `clamp_min(..., 0.001)`. +Without it, a period with zero traffic divides by zero and the panel — and the +alert built on the same expression — produces `NaN` rather than `0`. The clamp +makes the idle case evaluate to zero, which is what "no errors" should look like. + +### 1.5 Compose extension + +```yaml + prometheus: + image: prom/prometheus:v3.7.3 + volumes: + - ./monitoring/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml:ro + - ./monitoring/prometheus/alerts.yml:/etc/prometheus/alerts.yml:ro + ports: + - "9090:9090" + depends_on: + quicknotes: + condition: service_healthy + restart: unless-stopped + + grafana: + image: grafana/grafana:13.1.2 + environment: + GF_SECURITY_ADMIN_USER: admin + GF_SECURITY_ADMIN_PASSWORD: Qn-Lab6-Gf-9x2v + volumes: + - ./monitoring/grafana/provisioning:/etc/grafana/provisioning:ro + - ./monitoring/grafana/dashboards:/var/lib/grafana/dashboards:ro + ports: + - "3000:3000" + depends_on: + - prometheus + restart: unless-stopped +``` + +`condition: service_healthy` is where the Lab 6 healthcheck pays off, exactly as +the lab text predicted: Prometheus waits for QuickNotes to be *ready*, not merely +started, so the first scrape does not fail against a container that is still +booting. + +The admin password is set explicitly rather than left at Grafana's default. It is +a throwaway credential committed to a public repository, which is acceptable only +because this stack is local and disposable — in anything real this belongs in a +secret store, not in `compose.yaml`. + +### 1.6 Verification + +```console +$ curl -s http://localhost:9090/api/v1/targets | jq '.data.activeTargets[] | {job, health, scrapeUrl}' +{ + "job": "quicknotes", + "health": "up", + "scrapeUrl": "http://quicknotes:8080/metrics" +} +``` + +After ~700 mixed requests: + +![Golden signals dashboard](../evidence/lab8/lab8-dashboard.png) + +All four panels carry data: latency 1–3 ms, traffic peaking near 1.7 req/s, +error ratio flat at 0%, saturation at 22 notes. + +### 1.7 Design questions + +#### a) Pull vs push — which side must be reachable? + +Prometheus pulls, so **Prometheus must be able to reach QuickNotes**, not the +other way round. QuickNotes needs no knowledge of Prometheus at all: it exposes +`/metrics` and does not care who reads it. In this stack that reachability is +provided by the Compose network, where `quicknotes:8080` resolves. + +The failure mode when Prometheus cannot reach the target is specific and worth +knowing: the target goes `up == 0` and **series stop, they do not go to zero**. +Graphs show gaps, not flat lines at zero. Anything computed over that window — +including the error-ratio alert — has no data rather than good data. So "the +dashboard looks empty" is ambiguous: it means either no traffic or no scrape, and +`up` is the metric that distinguishes them. That is why `up == 0` deserves its own +alert in any real setup. + +The architectural consequence is that pull suits environments Prometheus can +reach and enumerate — a Compose network, a Kubernetes cluster — and suits +short-lived jobs and NAT'd targets badly, which is what the Pushgateway exists to +patch around. + +#### b) What breaks at `scrape_interval: 5s`? At `5m`? + +At **5s** the cost is volume and honesty. Storage and cardinality triple against +the 15s default for data that mostly repeats. Worse, it does not buy proportional +resolution: `rate()` over a 5m window still smooths across the same period, so +the extra samples change little in the graphs while tripling the write load. And +a scrape that takes longer than the interval starts overlapping itself — on this +setup scrapes take 1–3 ms, so there is headroom, but that headroom is what the +interval is really budgeting. + +At **5m** the problem is that most queries silently break. Prometheus marks a +series stale after roughly 5 minutes without a sample, so a 5m interval sits +right at the edge of staleness. `rate(...[5m])` needs at least two samples in the +window and would frequently have one, returning nothing. Alerts with `for: 5m` +would evaluate against a single data point. And detection latency becomes 5 +minutes at best: an outage starting just after a scrape is invisible until the +next one. + +The general rule the two cases show: the scrape interval sets the floor on +detection latency and the ceiling on query resolution, and every query window in +the system has to be several times larger than it. + +#### c) `rate()` vs `irate()` vs `delta()` for the Traffic panel + +**`rate()`** is correct here. It computes the per-second average increase of a +counter across the whole window, using every sample in it, and it handles counter +resets — a process restart takes the counter back to zero, and `rate()` accounts +for that rather than reporting a huge negative spike. + +**`irate()`** uses only the last two samples in the window. It reacts fast and is +useful for short, volatile spikes, but on a dashboard it produces a jagged line +that swings with individual scrapes. For "how much traffic is this service +taking", that noise is a liability — and on a graph rendered at lower resolution +than the scrape interval, `irate()` silently skips data points entirely. + +**`delta()`** is the wrong tool twice over: it is meant for gauges, not counters, +so it does not handle resets, and it returns a total change rather than a +per-second rate, which is not comparable across different window lengths. + +#### d) Why provision Grafana from files? + +Because a dashboard clicked together in the UI lives only in Grafana's own +database. `docker compose down -v` deletes it, a fresh machine does not have it, +and there is no diff to review when it changes. + +Provisioning makes the dashboard a file in the repository: it is versioned, +reviewable in a PR, reproducible on any machine that clones the repo, and +recreated automatically after the stack is destroyed. This lab is the direct +demonstration — the dashboard was never touched in the UI; it appeared because a +JSON file was mounted at the path the provider config names, and the provider +picked it up within its 10-second poll. + +The same argument that makes infrastructure-as-code worth the friction applies to +monitoring configuration, and for the same reason: the alternative is state that +exists only where someone once clicked. + +--- + +## Task 2 — One Good Alert + Runbook + +### 2.1 The alert rule + +`monitoring/prometheus/alerts.yml`: + +```yaml +groups: + - name: quicknotes + rules: + - alert: HighErrorRate + expr: | + sum(rate(quicknotes_http_responses_by_code_total{code=~"4..|5.."}[5m])) + / + clamp_min(sum(rate(quicknotes_http_responses_by_code_total[5m])), 0.001) + > 0.05 + for: 5m + labels: + severity: page + annotations: + summary: "QuickNotes error ratio above 5% for 5 minutes" + description: "Error ratio is {{ $value | humanizePercentage }} over the last 5 minutes." + runbook_url: "https://github.com/HNS2112/DevOps-Intro/blob/feature/lab8/docs/runbook/high-error-rate.md" +``` + +Requirements met: 5% threshold, `for: 5m` sustained gate, `severity: page` label, +and a `runbook_url` annotation pointing at a document in this repository. + +### 2.2 Triggering it + +A load script ran healthy traffic alongside two deliberately failing requests per +cycle — a malformed JSON `POST /notes` and a `GET /notes/99999` — producing an +error ratio near 48%. + +**The first attempt failed, instructively.** The script ran for 7 minutes but its +error traffic ended before the `for: 5m` window elapsed; the rule reached +`pending`, then dropped back to `inactive` without ever firing: + +```console +{ "name": "HighErrorRate", "state": "pending" } +... +{ "name": "HighErrorRate", "state": "inactive", "activeAt": null } +``` + +That is the sustained-breach gate doing precisely its job: a burst that stops +before five minutes is not paged on. The second run sustained the errors long +enough: + +```console +$ curl -s -G .../query --data-urlencode 'query=' +0.43706311806514775 + +$ curl -s http://localhost:9090/api/v1/rules | jq ... +{ + "name": "HighErrorRate", + "state": "firing", + "duration": 300, + "labels": { "severity": "page" }, + "activeAt": "2026-08-06T17:28:12.464142167Z", + "value": "4.7951176983435045e-01" +} +``` + +![Alert firing](../evidence/lab8/lab8-alert-firing.png) + +The full `inactive → pending → firing` transition was observed, with the value at +firing time at 47.95%. + +### 2.3 Runbook + +Full text: [`docs/runbook/high-error-rate.md`](../docs/runbook/high-error-rate.md). + +It covers the four required sections — what the alert means, four ordered triage +steps, three mitigations, and post-incident actions. Two things in it are specific +to what earlier labs uncovered rather than generic advice: the rollback step warns +to stop the old container first, because Lab 4 showed that starting a second +instance on the same port fails with `bind: address already in use`; and the +restart step notes that data survives, because Lab 6 established that state lives +in a named volume rather than the container. + +### 2.4 Design questions + +#### e) Why "sustained for 5 minutes" instead of firing immediately? + +Because a single failed request is not an incident, and paging on one destroys +the value of the page. Transient errors are normal: a client sends malformed +input, a connection drops mid-request, a container restarts during a deploy. An +alert that fires on the first bad request would page several times a day for +conditions that resolve themselves before anyone opens a laptop. + +The `for:` clause encodes the distinction between "something failed" and +"something is broken". This lab demonstrated both sides in sequence: the first +load run produced a real 40%+ error ratio, reached `pending`, and correctly never +paged because it stopped after a few minutes. The second sustained it and fired. +The same expression, two different outcomes — decided entirely by duration. + +There is a cost, and it should be named: five minutes of user-visible errors +elapse before anyone is told. For a service where that is too long, the answer is +a tighter window plus a higher threshold, not the removal of the gate. + +#### f) Symptom alerts vs cause alerts + +The rule above is a symptom alert: it fires on something users experience — +requests failing. A cause alert for QuickNotes would be something like "container +memory above 80%" or "the `/data` volume is more than 90% full". + +Cause alerts are worse for two reasons that pull in opposite directions. They +fire when nothing is wrong — memory at 85% with every request succeeding is a page +about a number, not about a problem. And they miss what they were meant to catch: +QuickNotes can fail for reasons that touch neither memory nor disk, so a wall of +green cause alerts is compatible with a completely broken service. + +A symptom alert catches every cause, including the ones nobody anticipated, +because it watches the outcome rather than a guessed-at mechanism. Cause metrics +still belong on the dashboard — they are how you *diagnose* after the symptom +alert wakes you — but they should not be what wakes you. + +#### g) A quantitative threshold for alert fatigue + +The workable measure is the **precision of the page**: of the last N pages, what +fraction corresponded to a real user-visible problem that required human action? + +A concrete line: **if more than 25% of pages turn out to be non-actionable, the +alert is broken.** One in four false pages is enough for on-call to start +assuming the next one is noise too, which is the exact failure mode that makes +alert fatigue more dangerous than under-alerting — the alert still fires, and it +is still ignored. + +Two supporting numbers make it measurable in practice. Track the share of pages +closed with no action taken; if it climbs above a quarter, the alert needs tuning +rather than the on-call needing more discipline. And track pages per on-call +shift: more than one or two routinely means the threshold is too tight or the +`for:` window too short, regardless of whether each individual page was +technically correct. + +Both are worth reviewing in the postmortem, which is why the runbook's +post-incident section asks explicitly whether this alert fired without a user +being affected. + +--- + +## Bonus Task — Synthetic Monitoring from the Outside + +Not attempted. + +--- + +## Summary + +| Task | Status | +|------|--------| +| Task 1 — Prometheus + Grafana + provisioned 4-panel dashboard | Complete | +| Task 2 — Sustained-breach alert, runbook, firing observed | Complete | +| Bonus — Checkly synthetic probe | Not attempted |