Metric Monitoring App Using Mongo Time Series
Schedule metrics collectors for different services and run anomaly detection on new values.
Make sure you have Docker and Docker Compose installed on your machine.
Create a MongoDB Atlas cluster with MongoDB 5.0 or above installed.
For security reasons, the
.env was not included in the repository. The available configuration variables are provided inside
.env.sample. Make sure to set all the configuration variables before running the app.
Running the app
Running this app is as easy as running:
$ docker-compose build
$ docker-compose up
Starting with the
docker-compose.yml file, we can see that this application is split into a main webapp service and the scheduling service (
celery in this case).
The metrics collection is done mainly by the
celery workers. The
metrics_web service providing only a way of pushing metrics from external service (when scheduling is…