Skip to content

Architecture Introduction

UAS Architecture

Components ΒΆ

UAS comprises several services, including the ETL Service, Aggregation Service, Notification Service, and Analysis Service. It utilizes MySQL and Pinot as storage services, Redis Cluster for caching, and Jupyter for data analysis.

  • ETL Service: This service receives alerts from various monitoring or dashboard platforms via webhooks, along with labels, and can attach labels from the inventory graphQL database to the alerts.
  • Aggregation Service: This service pre-processes alerts with labels, such as adjusting the notification frequency by a threshold for continuous firing or relabeling with configured matchers.
  • Notification Service: It closely collaborates with the central Alertmanager, bypasses alerts, fetches receiver or silence definitions from a Git repo or MySQL database, and sets configmaps of routers, receivers and silences.
  • Analysis Service: This service integrates with third-party systems, such as the inventory graphQL database.
  • AlertMananger: It will receive alerts with firing or resolved status from the notification service, and store receiver definitions and routers. Additionally, it is responsible for managing the lifecycle of individual alerts and notifications.
  • MySQL: This database stores routes/receivers from the Git repo or UAS portal and persists processed notifications.
  • Pinot: It is used to persist alerts sent from other platforms.
  • Redis Cluster: This is used for caching, such as storing monitoring rules, the current count of continuous firing, inventory data, and more.
  • Jupyter: Data can be post-processed using customized notebooks, which can be scheduled to run within it.