Lesson 12 · Traces, logs & the whole picture
Kiali & the whole picture
The mesh map — and putting all three pillars together to debug a 2am incident.
Your win: explain what Kiali adds, and — the payoff of the whole course — walk an incident from alert to root cause by moving across metrics, traces, and logs.
Kiali — the mesh's live map
Kiali is the Istio dashboard: a live service graph (who calls whom, with traffic health / error rates on each edge) plus config validation.1 It doesn't collect its own data — it reads the stack you've built.
istio-system) points at Prometheus
(prometheus-server.monitoring…, :89-94) for the
traffic metrics that colour the graph, at Jaeger
(jaeger-all-in-one.monitoring…:16685, :110-112) for
traces, and links Grafana. So Kiali is a consumer of everything in this course — it
turns istio_requests_total (Lesson 1!) into a coloured arrow between two services.
The whole picture — one incident, three pillars
Here's why you built all of this. A realistic 2am flow, using every course lesson:
:8888 (L3) and B3-propagated spans (L9);
Envoy adds istio_requests_total + Zipkin spans (L1/L9); logs go JSON→stdout→Cloud
Logging (L11). Prometheus scrapes the metrics (2h) → Thanos stores them long-term + globally
(L5) → Grafana visualizes via the Thanos datasource (L6); alert rules (L4) → Alertmanager →
Grafana OnCall pages you (L7). The OTel Collector fans spans (otlp/zipkin) through
tail_sampling into Jaeger (L10); Kiali reads Prometheus + Jaeger to draw the mesh. That's the
entire self-hosted observability stack — and you can now trace any signal from your code to
the dashboard.
Kiali + the three pillars, together
The mesh graph, and correlating metrics/traces/logs to debug.
Check yourself (from memory)
Q1. Kiali draws its service graph by reading…
istio_requests_total) + Jaeger traces — it builds on this course's stack.
Q2. In a debug flow, traces are the pillar that…
Q3. The glue that links a trace to its log lines is…
kiali-server/values.yaml:89-94)
+ Jaeger (:110-112) — a consumer of this course's stack. THE THREE PILLARS = A
WORKFLOW: METRICS alert + quantify (WHAT), TRACES localize (WHERE — which hop), LOGS explain
(WHY). Move ACROSS them; the glue is CORRELATION (shared service/app labels + the trace ID
linking a trace to its logs). Incident flow: OnCall page (L7) ← alert rule (L4) on a metric
(L3) → Grafana/Thanos dashboard (L5/6) → Jaeger trace (L9/10) finds the slow span → Cloud
Logging (L11) gives the error → Kiali confirms the blast radius.istio_requests_total (C2 KEDA / C4 mesh / C5 alerts) is this stack's
metric. Course 7 (Infrastructure as Code) is the finale of the track — the
Terraform that provisions the clusters, the GCS buckets (incl. Thanos's), and the identities
everything runs on.
1. Kiali — Docs; in-repo platforms/monitoring/kiali-server/values.yaml:89-112.