Coder Social home page Coder Social logo

purush7 / alert-monitor Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 105 KB

The central alert system which captures events generated by any system or user triggered, and raise an alert according to alert configuration

License: GNU General Public License v3.0

Dockerfile 2.51% Makefile 3.02% Go 94.47%

alert-monitor's Introduction

alert-monitor

The central alert system which captures events generated by any system or user triggered, and raise an alert according to alert configuration

Problem Statement

Run

make local  ## for local setup (db)
make all ## to start the server
docker logs alert-monitor -f  ## for logs

Testing

  • postman collection is present under /docs/postman
  • check logs through the cmd docker logs alert-monitor -f

Solution:

At a high level, the service operates as follows:

Event Processing:

  • Whenever a new event is received, the service evaluates the alert configuration associated with that event.

Asynchronous Notifications:

  • If an alert condition is met, the service dispatches notifications to the relevant dispatchers asynchronously. This approach leverages goroutines, which are lightweight and efficient, allowing the system to handle a high volume of dispatches concurrently.

Scalability Enhancements:

  • For improved scalability, integrating a messaging queue is recommended. This setup allows the service to handle high burst loads by queuing incoming events.
  • Additionally, using an OLAP database like ClickHouse can enhance performance. Unlike traditional relational databases, OLAP systems are optimized for high-speed aggregation queries, making them more suitable for quickly retrieving event counts and performing complex analyses and there isn't any usecase to maintain relational among the data

Current Implementation:

  • To meet the project's requirements and constraints within a short timeframe, the current implementation uses a RESTful API with PostgreSQL. While this approach is straightforward and effective for the task at hand, future improvements could include adopting a messaging queue and OLAP database to handle larger scales and more complex scenarios efficiently.

Note: Here internal_ext directory is used instead of internal as internal code will be hidden by github.

alert-monitor's People

Contributors

purush7 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.