Search⌘ K
AI Features

Design of a Client-Side Monitoring System

Explore the System Design required to monitor client-side errors outside the service infrastructure. Design an independent agent and collector system that ensures fault tolerance and rapid error detection. Learn to implement user consent and privacy controls for diagnostic data collection.

Servers cannot observe failures that occur before a request reaches their infrastructure. Failures such as DNS resolution errors or ISP outages affect users directly, who may rely on external channels to confirm the issue. This reactive feedback loop is insufficient for timely incident response. Service providers require external monitoring to detect these issues in near real time.

Initial design

To verify reachability, we can act as clients. We can deploy a service, called a prober, that periodically sends requests from various global vantage points to check availability. This allows us to monitor service reachability from different geographic locations.

Prober checking the availability of the website
Prober checking the availability of the website

Issues with probers

External probers face several limitations:

  • Incomplete coverage: The internet consists of over 100,000 autonomous systems (AS). Placing probes in every AS is cost-prohibitive and logistically difficult due to ...