f23e222bc0
Add Phase 3: TE/SR analytics, anomaly detection, DB schema reference
...
- 4 new Grafana dashboards:
- Database Schema Map (obmp-learn-07): interactive schema reference
with live row counts, relationship diagrams, column details
- TE & Segment Routing Analytics (obmp-learn-08): exposes BGP-LS TE/SR
fields (bandwidth, admin groups, SRLG, SR SIDs, protection types)
- Topology Change & Anomaly Detection (obmp-learn-09): link state
change tracking, origin AS hijack detection, convergence timeline
- Link Utilization & TE Thought Experiment (obmp-learn-10): capacity
data from BGP-LS + streaming telemetry integration guide
- DB_SCHEMA.md: standalone database reference (33 tables, 11 views)
- 3 new ExaBGP scenarios: te_community_steering, origin_shift, path_diversity
- Updated DOCS.md with Phase 3 dashboards and scenarios
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 13:31:03 -07:00
f4d5bd7c85
Fix LS Topology dashboard: relax igp_metric filter for CML lab
...
IOS-XR 9000v in CML uses igp_metric=16000000 on all IS-IS links.
The stock dashboard filter (< 16000000) excluded all links, making
the Node dropdown empty and topology panel show no data. Changed
to <= 16777215 (IS-IS wide metric max) so lab links are included.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-06 12:49:48 -07:00
39a130922a
Add BGP-LS config script and fix ExaBGP peer event tracking
...
- exabgp/bgpls_config.py: NETCONF script that audits and fixes BGP-LS
config on all 9 spoke routers; adds IS-IS distribute and lsls AF
activation toward both COREs where missing; handles routers needing
global AF initialization before per-neighbor activation
- exabgp/startup.sh: add neighbor-changes to ExaBGP api blocks so peer
up/down events are sent to Flask server.py stdin
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-06 12:39:40 -07:00
6621942032
Add Phase 2: Vue 3 control panel, 6 learning dashboards, new BGP scenarios
...
- exabgp-ui/: Vue 3 + Vite SPA served by NGINX on :5001; proxies /api/ to
ExaBGP Flask on :5050; includes StatusBar, ScenarioPanel, RouteTable,
AnnounceForm, PeerStatus, ChurnControl components
- docker-compose.yml: add obmp-exabgp-ui service (host network, port 5001)
- exabgp/scenarios/__init__.py: add convergence_test, route_leak,
hijack_simulation scenarios for structured BGP learning exercises
- exabgp/inject.py: add 'peers' and 'monitor' subcommands; live-refresh
terminal status view with ANSI cursor repositioning
- obmp-grafana/dashboards/Learning/: 6 new OBMP-Learning dashboards
(update rate, peer health, AS path, RPKI, churn, attributes)
- obmp-grafana/provisioning/dashboards/openbmp-dashboards.yml: add
OpenBMP-Learning folder provider pointing to dashboards/Learning/
- DOCS.md: document Web UI, 3 new scenarios, 6 learning dashboards;
fix section numbering (10-14) and architecture diagram (23 dashboards)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-05 15:37:16 -07:00
233dadbb41
Add ExaBGP route injector, Grafana dashboards, and full documentation
...
- Add exabgp/ container: ExaBGP 5.x + Flask REST API for on-demand BGP
route injection into CML IOS-XR lab (AS 65020 via eBGP from AS 65100)
- Add 6 injection scenarios: internet_sample, churn, blackhole, anycast,
full_table, lab_prefixes
- Add inject.py CLI wrapper for the ExaBGP API
- Add iosxr_bgp_config.md with IOS-XR neighbor config and NETCONF script
- Add obmp-grafana/ dashboards and provisioning (17 dashboards)
- Update docker-compose.yml: add exabgp service, fix Kafka external
listener IP, extend log retention from 90min to 720min
- Add DOCS.md: full project documentation including architecture, setup,
user guide, sanity checks, troubleshooting, and command reference
- Update .gitignore: exclude .env and .claude/
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-05 14:46:37 -07:00
Tim Evens
3f38af5312
Version 2.2.3 updates
...
* collector v2.2.3
* collector using debian-stable-slim
* dev-image updated to use debian-stable-slim
* Upgraded librdkafka to v1.9.2
* Fixed permission problems with postgres
* Grafana upgraded to 9.1.7
* psql-app v2.2.2
* postgres updated to use timescaledb-ha:pg14-ts2.8
2022-10-20 07:12:08 -07:00
Tim Evens
0f3312a719
Updates for v2.2.1
2022-06-17 18:20:05 -07:00
Tim Evens
6e616efe10
Updates for 2.2.0
...
* Use timescaleDB CE intead of OSS
* Have psql-app wait for psql to startup during init db
* Add version file to postgres container
2022-06-12 11:04:59 -07:00
Tim Evens
e19e5ac73a
Fix psql container rm file issue
2022-06-10 12:53:24 -07:00
Tim Evens
c1dd8fc15c
Add db-import and update irr cron jobs in psql-app container
2022-06-10 06:47:01 -07:00
Tim Evens
f7f13db676
Update logging files for cron jobs
2022-06-08 16:53:03 -07:00
Tim Evens
237345b476
Add ENABLE_DBIP to ``psql-app`` container to auto import DB-IP geo data
2022-06-08 14:53:55 -07:00
Tim Evens
a50c553f66
Version 2.2.0 schema upgrade
2022-06-08 11:54:17 -07:00
Tim Evens
84bec5293b
version 2.2.0 updates
2022-06-08 11:53:55 -07:00
Tim Evens
e7fad858d9
Change global_ip_rib function cron job
2022-05-17 10:38:19 -07:00
Tim Evens
eb52eace41
Updates for 2.1.1
2022-03-31 12:13:46 -07:00
Tim Evens
c5f3d6ef59
2.1.1 Updates
...
* Update psql-app container to use MEM for heap setting
This fixes issue where psql-app would run out of memory
* Update psql-app container to restart psql consumer if
if stops. This handles restart on out of memory exit.
2022-03-28 15:51:15 -07:00
Tim Evens
0a0d2ceec1
2.1.1 updates
...
* Fix vpnv6/l3vpn next-hop decoding
* Fix ip_rib_log enabling compression to be after hypertable creation
* Add pg_cron to postgres container
* Upgraded postgres container to timescaledb 2.6.0-pg14
2022-03-28 12:43:37 -07:00
Tim Evens
611bfbbc2b
Merge pull request #12 from ravitejb/main
...
feat: add pg_cron extension for cron jobs
2022-03-22 15:32:34 -07:00
RaviTeja Buddabathuni (rbuddaba)
620bd517cc
fix: added build stage to reduce the image size
2022-03-15 18:10:20 -05:00
RaviTeja Buddabathuni (rbuddaba)
36ef1e478b
fix: add pg_cron
2022-03-15 15:04:44 -05:00
RaviTeja Buddabathuni (rbuddaba)
a630c5db7d
feat: add pg_cron extension for cron jobs
2022-03-15 13:08:48 -05:00
Tim Evens
b9b8c44713
Change max_wal_size to 10GB by default and add missing upgrade sql file
2022-03-09 10:48:58 -08:00
Tim Evens
43efeb5049
Change collector to log to stdout and peeringdb to 12 hours
2022-03-06 09:51:35 -08:00
Tim Evens
05737d2682
v2.1.0 updates
...
* Add peeringdb script and cron job
* Fix running more than one cronjob at a time
* Update upgrade script for psql-app
2022-03-04 07:27:23 -08:00
Tim Evens
b0511daf00
Merge pull request #9 from OpenBMP/2.1.0
...
2.1.0
2022-02-22 14:55:15 -08:00
Tim Evens
492c000ce9
Add whois and upgrade to 2.1.0
2022-02-22 14:30:05 -08:00
Tim Evens
a1d00198dd
Updates for l3vpn
2022-02-14 14:36:36 -08:00
Tim Evens
7d4480a558
Merge branch 'main' into 2.1.0
2022-02-14 13:38:55 -08:00
Tim Evens
b4ff872aa9
Merge pull request #8 from pae23/pae23-patch-1
...
typo in collector scripts run
2022-02-14 13:36:40 -08:00
Tim Evens
aae49149af
initial 2.1.0
2022-02-10 21:02:19 -08:00
pae23
6580338253
typo in collector scripts run
2022-02-07 23:36:42 +01:00
Tim Evens
fd2874d00e
Fix for collector kafka startup issue
...
When first deploying the collector and kafka, it takes
kafka a couple minutes to start. In some cases, the
collector would proceed to startup without waiting for
kafka. This resulted in the first few messages to be dropped,
such as dropping the router init and peer up messages.
2022-02-01 12:49:17 -08:00
Tim Evens
a0e6a5bc6f
Fixes to psql-app, version 2.0.2
2022-01-31 11:05:58 -08:00
Tim Evens
c3839aa8fb
Security fixes, issues resolved, and more
...
* Upgrades to all containers
* Resolves #7 , resolves #6 , resolves #2
* Compose changed to use versions instead of latest
* OBMP containers now use a version tag instead of build numbers
2022-01-28 15:12:01 -08:00
Tim Evens
bb5df212df
Merge pull request #4 from sydon7/rpkifixup3
...
Rpkifixup3
2021-08-11 10:38:20 -07:00
Tim Evens
a9234b0a9a
Merge pull request #3 from sydon7/rpkifixup2
...
fixing two typos in psql-app/scripts/run
2021-08-11 10:38:05 -07:00
sydon7
cd25509e39
adding cron drops for all timeseries tables
2021-07-30 22:55:53 +00:00
sydon7
1794c3e2f2
fixing two typos
2021-07-22 21:15:21 +00:00
Tim Evens
0831195948
Merge pull request #1 from sydon7/rpkifixup
...
rpki updates
2021-07-20 14:48:03 -07:00
sydon7
fc362aab60
rpki updates
2021-04-30 14:14:27 +00:00
Tim Evens
3847a19ea9
Fix psql-app cron entry and update postgres install
2021-04-12 11:47:32 -07:00
Tim Evens
eba244cdf7
Fix postgres to create ts. Update compose to use latest
2021-03-31 00:13:09 -07:00
Tim Evens
9942f8a4a7
Start cron and rsyslog. Change init db to look for /config/do_not_init_db
2021-03-30 23:35:22 -07:00
Tim Evens
c61f766cc3
Adjust defaults in compose and fix postgres mem setting
2021-03-30 22:31:06 -07:00
Tim Evens
74154229ad
more changes to compose
2021-03-30 19:00:25 -07:00
Tim Evens
574bf5e8a9
Add psql-app conatainer and docker compose
2021-03-30 14:25:24 -07:00
Tim Evens
8b3356086b
Updates to dev-image and added postgres
2021-03-29 11:13:57 -07:00
Tim Evens
068537b740
remove old image
2021-03-29 08:53:27 -07:00
Tim Evens
58c7c1a107
Add dev image
2021-03-29 08:52:45 -07:00