To reach a certain level of scalability, Uber is using microservices architecture with thousands of implemented services to support the company growth. The mobile application, the internal solutions, the infrastructures support and all the other products are maintained within microservices.
To maintain this system, Uber’s engineers built an alerting pipeline responsible for detecting, mitigating, and notifying engineers of issues with their services as soon as they occur. Two of these pipelines are uMonitor and Neris. uMonitor is a metrics-based alerting system that run checks against their M3 database. And Neris looks for alerts in the host architecture.
In addition to these two, Uber also built a black box alerting system that detect any problem from outside the data center in cases where the internal system of the data center fails.
You can read more about each part of this alerting architecture at Uber’s Engineering Blog via this link: https://eng.uber.com/observability-at-scale/