bgp-dashboard

by rhicks

BGP Dashboard and Monitoring Web Application

251 Stars 48 Forks Last release: Not found 126 Commits 0 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

BGP Dashboard

A "realtime" web view of your BGP network

  • Who do I peer with?
  • How many routes do I receive from my peers?
  • Who do I use for tranist?
  • What AS path does a prefix take out of my network?
  • How many routes and autonomous systems do I see?
  • BGP Looking Glass (IPv4/IPv6/ASN)

How it works

This is beta code. - BGP peering session using GoBGP - GoBGP pipes BGP information into MongoDB - Flask App queries MongoDB to build website and JSON API

This project uses three Docker containers
GoBGP

The GoBGP container serves two functions: - Peer with the "real" network - Configure gobgpd.conf to peer with the real network. - Only IPv4-Unicast and IPv6-Unicast supported at this time. - Pass BGP updates into BGP - The gobgptomongo.py script pipes the JSON updates from GoBGP into the MongoDB container

MongoDB
  • Mongo receives JSON updates from the GoBGP container
  • The Flask App queries Mongo for relevant information
Flask
  • Flask presents a Dashboard for realtime BGP updates
  • A JSON API is used on the backend to support the frontend and display Looking Glass queries

Screenshot

screenshot

Install

$ git clone https://github.com/rhicks/bgp-dashboard.git
$ cd bgp-dashboard
$ # modify ./gobgp/gobgpd.conf to peer with your network
$ # modify ./flask/app/constants.py globals to use your ASN and BGP communities
$ docker-compose build
$ docker-compose up (watch the log to verify BGP peeering is established)

Todo

  • ???

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.