Monitoring and anomaly detection based on RIPE Atlas data.
This is project is made by 5 IT-students of Hogeschool Utrecht and is commissioned by RIPE NCC.
Table of Contents
Our main goal of this project is to find anomalies in the RIPE ATLAS network and report this to the user. We do this through various ways, including the following:
- Web server
Webhooks(still in development)- API
Currently, most of this is still in development. We will be adding more in the near future. You may also suggest changes by forking this repo and creating a pull request or opening an issue.
- Automatically analyze measurements from Ripe Atlas.
- View anomalies in a human-readable format
- Easily extend functionality with plugins
- Receive alerts via Email.
We're currently using the following frameworks.
To get a local server up and running, follow these steps.
To run this application, you'll need the latest version of Docker and Python installed on your computer.
-
If you're reinstalling the app, please delete the currently existing ripe-alert app first. Installing for the first time? Skip to step 4.
-
Delete the ripe-alerts from Docker.
Open Docker Desktop → Go to Containers / Apps → ripe-alerts → Delete -
Delete the database folder.
Open folder 'ripe-alerts' → Delete folder 'data' -
After you've cloned the repository. Build all component images with Docker, by using the command:
docker compose build
- Initialize the database. Open the terminal, and run the following command:
docker compose run --name database --rm db
Wait, until it says:
PostgreSQL init process complete; ready for start up.
- Close the container (CTRL+C).
- Start the application, by using the command:
docker-compose up
- Open Docker.
- Go to the backend-container, and open the Command Line Interface (CLI).
- Migrate the database, by using the command:
python manage.py migrate
- To manage access to the database we need a superuser. So let's create one!
To create a superuser, use the command:
python manage.py createsuperuser
- Go to the anomaly-container, and open the Command Line Interface (CLI).
- Migrate the database, by using the command:
python manage.py migrate
- Congratulations! You're done! You can access the site at http://localhost:8080/.
To access the database you'll need go to the Django admin page. This can be found at http://localhost:8000/admin.
After, opening the link. You can log in with the default user:
Info | Value |
---|---|
username | admin |
admin@ripe.net |
|
password | password |
We highly recommend changing your password after logging in. This can be done in by navigating to the top right of the Django admin page.
To check out live examples and docs, visit our wiki.
- Anomaly detection
- Base API
- Improve Docker installation
- Add additional alerting methods like Webhooks, API
- Personalize alerts by giving feedback to anomalies
- Better API documentation
Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the GNU License. See here for more information.
We highly recommend to check out all the Atlas API.
Also, we are grateful for having Emile Aben for guiding the development of this project.
Copyright (c) 2022 by Floris, Wolfram, Sybren and Koen