Designing Monitoring and Observability

1. Designing Application Metrics Collection

Metric TypeUse
CounterMonotonic events
GaugeCurrent value (queue depth)
HistogramLatency distributions
SummaryPre-computed quantiles
ToolsPrometheus, OpenTelemetry, StatsD

2. Designing Distributed Tracing

ConceptDetail
TraceTree of spans across services
SpanOne unit of work; parent_id linkage
Context propagationW3C Trace Context headers
SamplingHead / tail / probabilistic
ToolsJaeger, Tempo, Honeycomb, Datadog APM

3. Designing Centralized Logging

ElementDetail
CollectorFluent Bit, Vector, OpenTelemetry Collector
BackendELK, Loki, Splunk, Datadog
FormatStructured JSON
Correlationtrace_id, span_id, request_id
Retention tiersHot 7d, warm 30d, archive

4. Designing Health Check Architecture

CheckDetail
LivenessProcess responsive
ReadinessDependencies ready
Deep healthFor dashboards, not LB
CompositionService-A health excludes B's health

5. Designing Alert and Notification System

PracticeDetail
SLO-basedMulti-window burn-rate alerts
Symptom over causeAlert on user impact
SeverityP1 page / P2 email / P3 ticket
RoutingPagerDuty, Opsgenie
Anti-flapFor-duration thresholds

6. Designing Application Performance Monitoring (APM)

CapabilityDetail
Auto-instrumentationFrameworks, DB, HTTP
Slow transactionDrill-down to span
Code-level profilingFlamegraphs (Pyroscope, Parca)
RUMBrowser/mobile real user metrics
ToolsDatadog, New Relic, Dynatrace, Elastic APM

7. Designing Monitoring Dashboards

PracticeDetail
Service overviewRED/USE per service
SLO dashboardError budget remaining
Drilldown linksTo traces and logs
ToolsGrafana, Kibana, Datadog, Looker

8. Designing Error Tracking

ToolDetail
Sentry / Rollbar / BugsnagAggregate exceptions; dedup
Source mapsFor minified frontends
Release taggingIdentify regressions
User contextWithout PII

9. Designing Log Aggregation

LayerDetail
AgentTail files / stdout
BufferKafka for spikes
IndexHot search store
ColdS3/GCS Parquet for long-term
Cost controlSample / drop noisy logs

10. Designing SLO and SLA Monitoring

TermDetail
SLIWhat you measure (success rate)
SLOInternal target (99.9%)
SLACustomer commitment
Error budget1 - SLO; freeze releases when burned
Burn-rate alertsMulti-window: 1h fast / 6h slow

11. Designing Synthetic Monitoring

CapabilityDetail
ProbesPeriodic from multiple regions
User flow testsLogin → checkout
API checksEndpoint contract
ToolsDatadog Synthetics, Pingdom, Checkly

12. Designing Observability Data Correlation

PillarDetail
Three pillarsMetrics, traces, logs (+ profiles, events)
Common keysservice, env, version, trace_id
ExemplarsLink metric data point → trace
Single paneUnified UI for triage