Awesome
<div id="top"></div> <!-- PROJECT SHIELDS -->⚠ RIPE Alerts
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 --> <details> <summary><ins><b>Table of Contents</b></ins></summary> <ol> <li> <a href="#about-the-project">Intro</a> <ul> <li><a href="#goal">Goal</a></li> <li><a href="#features">Features</a></li> <li><a href="#built-with">Built With</a></li> </ul> </li> <li> <a href="#getting-started">Getting Started</a> <ul> <li><a href="#prerequisites">Prerequisites</a></li> <li><a href="#installation">Installation</a></li> <li><a href="#how-to-use-the-database">How to use the database?</a></li> </ul> </li> <li><a href="#api-reference">API Reference</a></li> <li><a href="#roadmap">Roadmap</a></li> <li><a href="#contributing">Contributing</a></li> <li><a href="#license">License</a></li> <li><a href="#acknowledgments">Acknowledgments</a></li> </ol> </details> <!-- ABOUT THE PROJECT -->Goal
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.
Features
- Automatically analyze measurements from Ripe Atlas.
- View anomalies in a human-readable format
- Easily extend functionality with plugins
- Receive alerts via Email.
Built With
We're currently using the following frameworks.
<p align="right">(<a href="#top">back to top</a>)</p> <!-- GETTING STARTED -->Getting Started
To get a local server up and running, follow these steps.
Prerequisites
To run this application, you'll need the latest version of Docker and Python installed on your computer.
Installation
-
If you're reinstalling the app, please delete the currently existing ripe-alert app first. Installing for the first time? Skip to step 4.<br/>
-
Delete the ripe-alerts from Docker.<br> Open Docker Desktop → Go to Containers / Apps → ripe-alerts → Delete
-
Delete the database folder.<br> 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! <br/> 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/.
How to use the database?
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.
<p align="right">(<a href="#top">back to top</a>)</p> <!-- API REFERENCE -->API Reference
To check out live examples and docs, visit our wiki.
<p align="right">(<a href="#top">back to top</a>)</p> <!-- ROADMAP -->Roadmap
- Anomaly detection
- Base API
- Improve Docker installation
- Add additional alerting methods like Webhooks, API
- Personalize alerts by giving feedback to anomalies
- Better API documentation
Contributing
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
License
Distributed under the GNU License. See here for more information.
<p align="right">(<a href="#top">back to top</a>)</p> <!-- ACKNOWLEDGMENTS -->Acknowledgments
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
<p align="right">(<a href="#top">back to top</a>)</p> <!-- MARKDOWN LINKS & IMAGES --> <!-- https://www.markdownguide.org/basic-syntax/#reference-style-links -->