https://bgp-data.net — BGP Data Collection and Analytics Service
BGPDATA helps researchers and network operators gain insights into their networks by providing a scalable and reliable way to analyze and inspect historical and live BGP data from Route Views and RIPE NCC RIS.
We collect both historical and live BGP data from Route Views and RIPE NCC RIS collectors to provide comprehensive insights.
Before you begin, ensure you have the following installed on your system:
Follow these instructions to get the project up and running on your local machine.
First, clone the repository to your local machine:
git clone git@github.com:bgpdata/bgpdata.git
cd bgpdata
The project directory contains the following files:
Dockerfile
: Dockerfile for building the application image.docker-compose.tpl
: Docker Compose template file with Jinja2 templating.requirements.txt
: List of Python dependencies for the application.manage.py
: The application entrypoint.values.yaml
: Values file for the Docker Compose template.
To build and start BGPDATA, run the following command in the project directory:
jinja2 docker-compose.jinja values.yaml | docker-compose up -f- "$@" -d
This command will:
- Build the Docker image for the various services.
- Start the services and initialize the Databases.
- Serve a user interface at
http://localhost:8080
- And begin the data collection process from Route Views and RIPE NCC RIS collectors.
Once the services are up and running, you can access the user interface at http://localhost:8080
.
We also provide a REST API at http://localhost:8080/api/v1/
for programmatic access to the data (coming soon).
As well as a Grafana dashboard at http://localhost:3000
to visualize the data and performance metrics (internal only).
For production deployment, we recommend using Docker Swarm.
- Configure Secrets:
# Postmark API Key
# https://postmarkapp.com/support/article/1008-what-are-the-account-and-server-api-tokens
echo "YOUR_POSTMARK_API_KEY" | docker secret create postmark_api_key -
# Flask Secret Key
# https://flask.palletsprojects.com/en/2.3.x/config/#SECRET_KEY
echo "YOUR_FLASK_SECRET_KEY" | docker secret create flask_secret_key -
- Deploy the Stack:
curl -L https://downloads.bgp-data.net/docker-compose.yml | docker stack deploy -c - bgpdata
- RIS for providing the data and collector infrastructure
- Route Views for providing the data and collector infrastructure
- OpenBMP for providing the invaluable OpenBMP Suite used in-depth in this project
- Tim Evens for his leading role in the development of the OpenBMP Suite
- RIPEstat for their incredible infrastructure and data visualization
- RIPE Atlas for providing the RIPE Atlas infrastructure and providing mesaurement data for this project
- Massimo Candela for his outstanding work on BGPlay
- Christian Teuschel for his inspiration for this project and operation of RIPEstat at the RIPE NCC
- Ben Cartwright-Cox for the development of BGP.tools and service to the Internet Community
- CAIDA BGPStream for providing a versatile BGP data streaming library
- Postmark for providing the email service
See LICENSE