Detailed Design of a Monitoring System

Learn the details of designing a monitoring system and understand its pros and cons.

We’ll discuss the core components of our monitoring system, identify the shortcomings of our design, and improve the design to fulfill our requirements.

Storage

We’ll use time-series databases to save the data locally on the server where our monitoring service is running. Then, we’ll integrate it with a separate storage node. We’ll use blob storage to store our metrics.

We need to store metrics and know which action to perform if a metric has reached a particular value. For example, if CPU usage exceeds 90%, we generate an alert to the end user so the alert receiver can take the necessary steps, such as allocating more resources to scale. For this purpose, we need another storage area that will contain the rules and actions. Let’s call it a rules database. Upon any violation of the rules, we can take appropriate action.

Here, we have identified two more components in our design—that is, a rules and action database and a storage node (a blob store).

Press + to interact
Adding blob storage and a rules and action database
Adding blob storage and a rules and action database

Data collector

We need a monitoring system to update us about our several data centers. We can stay updated if the information about our processes reaches us, which ...

Level up your interview prep. Join Educative to access 70+ hands-on prep courses.