Giter VIP home page Giter VIP logo

bgp-dashboard's Introduction

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 gobgp_to_mongo.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

  • ???

bgp-dashboard's People

Contributors

rhicks avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bgp-dashboard's Issues

GoBGP seems to exit over and over.

Mongo is saving data but the dashboard is not displaying it--

I know this hasn't been maintained for some time but it's a very cool project and I was wondering if you'd be willing to do a revamp? :DD

Issues with the gobgp_to_mongo.py file

Hi,

After following the tutorial, we got the dashboard running. However, it is not being updated with new data.

The following errors keep popping up constantly when we run the build:

gobgp_1 | File "/var/tmp/gobgp_to_mongo.py", line 177, in
gobgp_1 | sys.exit(main())
gobgp_1 | File "/var/tmp/gobgp_to_mongo.py", line 167, in main
gobgp_1 | prefix_from_gobgp = build_json(get_update_entry(line))
gobgp_1 | File "/var/tmp/gobgp_to_mongo.py", line 75, in build_json
gobgp_1 | '_id': update_entry['nlri']['prefix'],
gobgp_1 | TypeError: 'NoneType' object is not subscriptable

Can't install

When i type command docker-compose build i got an error.

778-401-max

What should I do ?

Need Installation Guide

Hello!
I'm new in docker, flask, and MongoDB not too much familiar with these. I would appreciate it if someone shares a full guide to installing the BGP-dashboard.

Thanks in Advance.

Internal BGP

Hello,
this project looks awesome!! But how to monitor an "internal" BGP.

We have FortiGates and using on 30+ firewalls iBGP with internal private IPs.
Is it possible to monitor this with your project ?

Many thanks !!!

gobgp docker doesn't start

When starting the docker images with either:

# docker-compose up
# docker-compose up -d

The gobgp image doesn't stay running.

There is a race condition I haven't figured out yet.
Just keep running the docker-compose up command over and over until it starts.
You can check if it is running using the docker ps command.

You should see all three containers when things are working correctly:

# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                  NAMES
ab4ac0d3bc46        bgpdash_flask       "/usr/bin/supervisord"   22 seconds ago      Up 18 seconds       0.0.0.0:80->80/tcp     bgpdash_flask_1
ec2546ce400b        bgpdash_gobgp       "/bin/sh -c /root/gob"   22 seconds ago      Up 6 seconds        0.0.0.0:179->179/tcp   bgpdash_gobgp_1
e520b32708a4        bgpdash_mongo       "/entrypoint.sh mongo"   24 seconds ago      Up 22 seconds       27017/tcp              bgpdash_mongo_1

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.