BGP Monitoring PRotocol (BMP)

Support for the BGP Monitoring Protocol (BMP) in the streaming telemetry feature (telemetryd) allows for advanced monitoring and management, and provides a convenient way to monitor BGP routing information on the routing device.

diagram explaining where bmp fits into opennms

Meridian leverages OpenBMP, an application developed as a reference implementation for receiving BMP messages from network equipment and presenting the state of the BGP network to the user.

BGP runs on routers and high-end switches. Those routers can point to Meridian or an OpenNMS Minion and send BMP data to Meridian. To use Meridian BMP features, you need the OpenBMP PostgreSQL component installed and set up, and have a BMP-enabled router.

The OpenNMS BMP parser accepts BMP connections from router packets using a TCP listener. Three adapters in Meridian read BMP data including an inventory list of connected routers and the peers they are established with, and stats and data about what is being exchanged over those peers:

  • BMP Telemetry Adapter: handles BMP statistics received and parsed by the BMP Parser. Statistics received from the router are associated as performance data with that router. View metrics and statistics related to that peer and apply thresholding.
  • BMP Peer Status Adapter: handles BMP Peer Up and Down messages that the BMP Parser receives and parses, and converts them to OpenNMS events. Allows alarm creation based on up/down status.
  • OpenBMP Integration Adapter: integrates with an existing OpenBMP installation and handles BMP messages from the BMP Parser, and creates OpenBMP-compatible messages, which are then passed to the OpenBMP Kafka cluster.

Configure the parser and adapters in the telemetryd-configuration.xml file. For more information on BMP functionality in OpenNMS, see the user documentation and this blog post.