Beyond Nagios: Modern Monitoring of Bronze-Age Applications with Prometheus
summary
Migrates a mature Rails monolith off New Relic, StatsD/Graphite and Nagios onto Prometheus and shows what actually changes: a custom MySQL exporter that turns performance_schema into query-cost time series, mtail log parsing that extracts controller/action/latency labels (at a CPU cost ~10–15% per node), fixing StatsD UDP loss (was ~70%) with local aggregators, per-controller-and-action alerts, and a Prometheus server handling ~600k time series at ~50k samples/sec using ~17 GB RAM and ~400–450 GB SSD retention. Future work: histograms and better tracing.
AI-written summary · about
chapters (18)
- 0:00Modern monitoring with Prometheus
- 2:57New Relic limitations
- 5:45StatsD and Graphite problems
- 8:18Airbrake and Nagios issues
- 10:50Why Prometheus became the solution for the mothership
- 11:12Instrumenting MySQL
- 13:24Parsing Rails logs with Mtail
- 15:54Alerting on controller errors
- 18:43StatsD for single-threaded apps
- 20:28Prometheus vs New Relic dashboards
- 21:30Future monitoring improvements
- 22:13Q&A on StatsD alternatives
- 23:36Prometheus alerting best practices
- 25:00Granularity vs New Relic
- 26:06Open tracing and log strategies
- 27:09Prometheus vs Graphite at scale
- 30:35Prometheus retention and resources
- 32:43Q&A on Prometheus load
related talks
40mThe Prometheus monitoring system
24mFrom Monitoring to Observability: 10 Things to Do with Prometheus in 2020
32mDemocratizing Application Monitoring with Prometheus
28mMonitoring Rails apps using Open Source
29m“If you Don’t Monitor your Infrastructure, you Don’t Own it!” Regain Control Thanks to Prometheus
10mPrometheus for Monitoring Metrics - Database Monitoring Tools
31mEvolution of Metric Monitoring and Alerting: Upgrade Your Prometheus Today
27mPrometheus: The Unsung Heroes
