Chapter 10. Practical Alerting from Time-Series Data
May the queries flow, and the pager stay silent.
Traditional SRE blessing
Monitoring, the bottom layer of the Hierarchy of Production Needs, is fundamental to running a stable service. Monitoring enables service owners to make rational decisions about the impact of changes to the service, apply the scientific method to incident response, and of course ensure their reason for existence: to measure the service’s alignment with business goals (see Chapter 6).
Regardless of whether or not a service enjoys SRE support, it should be run in a symbiotic relationship with its monitoring. But having been tasked with ultimate responsibility for Google Production, SREs develop a particularly intimate knowledge of the monitoring infrastructure that supports their service.
Monitoring a very large system is challenging for a couple of reasons:
The sheer number of components being analyzed
The need to maintain a reasonably low maintenance burden on the engineers responsible for the system
Google’s monitoring systems don’t just measure simple metrics, such as the average response time of an unladen European web server; we also need to understand the distribution of those response times across all web servers in that region. This knowledge enables us to identify the factors contributing to the latency tail.
At the scale our systems operate, being alerted for single-machine failures is ...