Monitoring & Observability
guides.
Improve operational visibility with guides to metrics, monitoring, logs, alerts, tracing and service reliability.
All engineering insights ↗Cloud and infrastructure library ↗
Monitoring & Observability articles
18 guides
Reduce Server Alert Fatigue Without Missing Outages ↗
Tune infrastructure alerts around user impact, actionable thresholds, ownership and maintenance windows while retaining useful diagnostic signals.
SLO Burn-Rate Alerts: Calculate Multiwindow Thresholds from the Budget ↗
Calculate SLO burn rates from the allowed bad fraction. Test multiwindow thresholds, recovery, low traffic and missing telemetry with explicit assumptions.
Prometheus Remote Write Backlogs: Track Lag and the Recoverable Window ↗
Diagnose Prometheus remote-write lag using queues, WAL behavior and receiver acceptance. Verify catch-up capacity and actual sample coverage.
OpenTelemetry Tail Sampling: Budget Trace Affinity, Decision Time, and Memory ↗
Plan OpenTelemetry tail sampling around trace-ID affinity, span arrival and memory. Test delayed spans, scaling and retained trace completeness.
OpenTelemetry Metric Cardinality: Keep Request IDs Out of Time-Series Dimensions ↗
Control metric cardinality with route templates, attribute allowlists, SDK views, privacy-aware telemetry, and a measured budget for useful aggregation.
Prometheus Alerts Flapping: Separate Rule State, Missing Data, and Notification Timing ↗
Investigate flapping alerts through expression results, stable labels, missing metrics, for and keep_firing_for, and Alertmanager grouping before extending delays.
Prometheus Recording Rules: Investigate Missing Evaluations Before Filling Dashboard Gaps ↗
Diagnose Prometheus recording-rule gaps using evaluation duration, missed iterations, source data, label changes, and tested rule dependencies.
OpenTelemetry Tail Sampling: Keep All Spans of a Trace Together During Scaling ↗
Design OpenTelemetry tail-sampling gateways with trace-aware routing, bounded decision memory, late-span handling, and scaling tests for complete traces.
Grafana alerts: handle No Data and Error explicitly ↗
Define how Grafana alerts behave when queries return no samples or fail, then test the independent labels and routing of data-source alerts.
OpenTelemetry metrics: control attribute cardinality ↗
Separate resource identity from measurement attributes, remove unbounded labels and verify cardinality overflow behavior before trusting filtered alerts.
OpenTelemetry queues: persist telemetry and test recovery ↗
Plan Collector exporter queues around outage duration, disk limits and retry behavior, then rehearse recovery without assuming loss-free delivery.
Alertmanager silences: scope maintenance and prove expiry ↗
Create maintenance silences with narrow matchers, named owners and bounded expiry, then verify that alert delivery resumes after the work.
Alertmanager routing: group alerts and inhibit carefully ↗
Trace alert labels through routing, grouping and inhibition to reduce duplicate notifications while preserving separate owners and actionable failures.
Prometheus histograms: aggregate latency buckets correctly ↗
Build service latency percentiles from compatible histogram buckets and validate units, aggregation labels, empty traffic and bucket resolution.
Prometheus counter resets: apply rate before aggregation ↗
Diagnose request-rate spikes after restarts by checking counter types, series identity, scrape gaps and the order of PromQL aggregation.
LVM thin pools: monitor data, metadata and extension capacity ↗
Understand why a thin volume can look spacious while its backing pool is constrained, then review data, metadata, monitoring and volume-group headroom together.
Software SLOs: connect error-budget burn to release decisions ↗
Define user-centered SLIs and error-budget alerts, then connect observed burn to an explicit release and incident policy without confusing an internal SLO with an SLA.
Monitor what matters to your users. ↗
Build operational visibility around useful signals instead of dashboard volume.