bgp-dashboardBGP Dashboard and Monitoring Web Application

联合创作 · 2023-09-21 00:54

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



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



  • ???

浏览 9
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报