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.
We'll cover the following...
“
- <a href=”#Initial-design" aria-label=“Read more about Initial design” >Initial design
- <a href="#Issues-with-probers" aria-label=“Read more about Issues with probers” >Issues with probers
- <a href="#Improve-the-design" aria-label=“Read more about Improve the design” >Improve the design
- <a href="#Activate-and-deactivate-reports" aria-label=“Read more about Activate and deactivate reports” >Activate and deactivate reports
- <a href="#Reach-collectors-under-faulty-conditions" aria-label=“Read more about Reach collectors under faulty conditions” >Reach collectors under faulty conditions
- <a href="#Protect-user-privacy" aria-label=“Read more about Protect user privacy” >Protect user privacy
- <a href="#Conclusion" aria-label=“Read more about Conclusion” >Conclusion
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.
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 varying regulations and maintenance requirements.
Synthetic traffic: Probes generate synthetic traffic, which may not accurately represent real user behavior or complex interaction ...