Lab 15: Capstone — Full Observability Stack
Overview
Complete Stack Architecture
┌─────────────────────────────────────────────────────────────────────────────┐
│ Production Observability Stack │
│ │
│ ┌──────────────────────────────────────────────────────────────────────┐ │
│ │ METRICS LAYER │ │
│ │ │ │
│ │ App Servers ──► node_exporter:9100 ◄── Prometheus:9090 │ │
│ │ Kubernetes ──► kube-state-metrics ◄── (scrape every 15s) │ │
│ │ Databases ──► mysql_exporter:9104 ──► TSDB (30d retention) │ │
│ │ │ │ │
│ │ Alert Rules ──► Alertmanager:9093 ──► Slack / PagerDuty / Email │ │
│ │ │ │ │
│ │ Prometheus ──► Grafana:3000 ──────────► Dashboards / Alerts │ │
│ └──────────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌──────────────────────────────────────────────────────────────────────┐ │
│ │ LOGS LAYER │ │
│ │ │ │
│ │ /var/log/* ──► Filebeat:5066 ──► Logstash:5044 ──► ES:9200 │ │
│ │ journald ──► (beats proto) (grok/mutate) (indices) │ │
│ │ │ │ │
│ │ Kibana:5601 ◄──────────────────────────────────── │ │ │
│ │ (Discover / Dashboards / Alerts / Saved Searches) │ │
│ └──────────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌──────────────────────────────────────────────────────────────────────┐ │
│ │ SLI/SLO LAYER │ │
│ │ │ │
│ │ SLI Metrics (Prometheus) ──► SLO Windows (28/7d) ──► Error Budget │ │
│ │ Burn Rate Alerts ──────────► Runbooks ──────────────► Incident Mgmt│ │
│ └──────────────────────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────────────────┘Step 1: Prometheus + node_exporter — Verify Binary Stack
Step 2: Alert Rules for CPU, Disk, and Memory Thresholds
Step 3: Alertmanager Routing to Email and Slack
Step 4: Grafana Dashboard Provisioning
Step 5: Filebeat → Logstash → Elasticsearch Pipeline
Step 6: Kibana Index Patterns and Saved Search
Step 7: SLI/SLO Definitions and Error Budget Calculation
Service SLO Budget % Budget min
Summary
Layer
Component
Version
Key Config
Last updated
