All Projects → CSUNetSec → Bgpmon

CSUNetSec / Bgpmon

Licence: bsd-2-clause
CSU's BGP Observatory code (bgpmon/pheme)

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to Bgpmon

Noproto
Flexible, Fast & Compact Serialization with RPC
Stars: ✭ 138 (+452%)
Mutual labels:  rpc, protocol-buffers
elm-protobuf
protobuf plugin for elm
Stars: ✭ 93 (+272%)
Mutual labels:  protocol-buffers, rpc
Go Micro Boilerplate
The boilerplate of the GoLang application with a clear microservices architecture.
Stars: ✭ 147 (+488%)
Mutual labels:  rpc, protocol-buffers
Protobuf
Protocol Buffers - Google's data interchange format
Stars: ✭ 52,305 (+209120%)
Mutual labels:  rpc, protocol-buffers
Influxdb
Scalable datastore for metrics, events, and real-time analytics
Stars: ✭ 22,577 (+90208%)
Mutual labels:  database, monitoring
Twirp
PHP port of Twitch's Twirp RPC framework
Stars: ✭ 108 (+332%)
Mutual labels:  rpc, protocol-buffers
Mu Haskell
Mu (μ) is a purely functional framework for building micro services.
Stars: ✭ 215 (+760%)
Mutual labels:  rpc, protocol-buffers
Tdengine
An open-source big data platform designed and optimized for the Internet of Things (IoT).
Stars: ✭ 17,434 (+69636%)
Mutual labels:  database, monitoring
Bgpalerter
Software to monitor streams of BGP data. Pre-configured for real-time detection of visibility loss, RPKI invalid announcements, hijacks, and more.
Stars: ✭ 367 (+1368%)
Mutual labels:  bgp, monitoring
Django Watchman
django-watchman exposes a status endpoint for your backing services like databases, caches, etc.
Stars: ✭ 357 (+1328%)
Mutual labels:  database, monitoring
Evans
Evans: more expressive universal gRPC client
Stars: ✭ 2,710 (+10740%)
Mutual labels:  protocol-buffers, rpc
Pgmetrics
Collect and display information and stats from a running PostgreSQL server
Stars: ✭ 612 (+2348%)
Mutual labels:  database, monitoring
Pufferdb
🐡 An Android & JVM key-value storage powered by Protobuf and Coroutines
Stars: ✭ 91 (+264%)
Mutual labels:  protocol-buffers, database
Lealone
极具创新的面向微服务和 OLTP/OLAP 场景的单机与分布式关系数据库
Stars: ✭ 1,802 (+7108%)
Mutual labels:  rpc, database
Pg insights
A collection of convenient SQL for monitoring Postgres database health.
Stars: ✭ 253 (+912%)
Mutual labels:  database, monitoring
Go Grpc Examples
This repo contains examples and implementations of different types of GRPC services and APIs using Golang.
Stars: ✭ 180 (+620%)
Mutual labels:  rpc, protocol-buffers
Loudml
Loud ML is the first open-source AI solution for ICT and IoT automation
Stars: ✭ 185 (+640%)
Mutual labels:  database, monitoring
Temboard
PostgreSQL Remote Control
Stars: ✭ 218 (+772%)
Mutual labels:  database, monitoring
Questdb
An open source SQL database designed to process time series data, faster
Stars: ✭ 7,544 (+30076%)
Mutual labels:  database, monitoring
Awesome Db Tools
Everything that makes working with databases easier
Stars: ✭ 479 (+1816%)
Mutual labels:  database, monitoring

GoDoc Build Status Go Report Card

BGPmon is a client server application to store and analyze large amounts of BGP data.

Installation

Requirements

  1. Golang > 1.11
  2. make
  3. to store message a db backend (Postgresql >= 9.5)

Running make will create two binaries under bin. To run the daemon, run:

bgpmond conf-file

To succesfully store messages in a database please have a Postgresql with a user that has access to write create tables on a database and reflect that configuration in the config file.

Example client commands

The client works over RPC, so the rpc module must be started in order for the client to work.

To show configured sessions on the server

bgpmon listAvailable sessions

To open a configured session

bgpmon open session LocalPostgres -s sID

To write MRT files

bgpmon write sID mrtFiles...

To close a session

bgpmon close session sID

To see available modules and the options required to run them

bgpmon listAvailable modules

Example config file

DebugOut = "stdout"
ErrorOut = "stderr"

# Sessions represent the possible database backends
[Sessions]
#this will configure an available session named LocalPostgres
[Sessions.LocalPostgres]
Type = "postgres"
Hosts = ["localhost"]
Database = "bgpmon"
User = "bgpmon"
Password = "bgpmon"
WorkerCt = 4 #the maximum amount of concurrent workers
DBTimeoutSecs = 120 #maximum lifetime seconds for a DB operation

# Modules represent modules to run on startup
# Multiple modules of the same type can be instantiated with
# different IDs
[Modules]
# RPC exposes the basic bgpmond operation over an RPC interface that
# consumes and produces protocol buffers defined in the netsec-protobufs
# repository /bgpmon
[Modules.rpc1]
Type="rpc"
Args="-address :12289 -timeoutsecs 240"

# pprof enables the http profiler at an address specified by Args
[Modules.pprof1]
Type="pprof"
Args="-address localhost:6969"

# Nodes represent operator provided information for nodes involved in
# BGP transactions
# If there are already saved nodes in the database that conflict with the
# configuration, the configuration is preferred
[Nodes]
[Nodes."128.223.51.102"]
Name="routeviews2"
IsCollector=true
DumpDurationMinutes=1440
Descritption="routeviews.org routeviews2 collector"
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].