Document additional details for BMP integration

Description

Below is the note from a support ticket that requires us to add more details on the BMP integration topic.

  • In a Core/Sentinel/Minion distributed architecture, which components are appropriate to run at what tier(s)?

    • I think it’d be:

      • BMP TCP Parser on Minion

      • BMP Telemetry, BMP Peer Status, and BMP Persisting adapters on Sentinel

      • Nothing on Core

  • However, the eventing part of BMP Peer Status leads me to my next question…

    • How does BMP Peer Status send its events? The block diagram in the documentation appears to imply that it writes them directly to the events table of the database. However, that won't broad cast them to other eventd listeners, so how would other components like alarmd act on those events?

Some concrete examples of where to enable each component of the BMP processing stack would be appreciated, to reduce the amount of inference and guesswork.

Acceptance / Success Criteria

None

Activity

Christian Pape August 1, 2023 at 1:17 PM

Merged.

Jesse White July 18, 2023 at 7:50 PM

PR for docs:

Jesse White July 18, 2023 at 6:12 PM

PR for improved logging:

Jesse White July 18, 2023 at 6:09 PM

I updated the lab to work with Sentinels and can see the adapters working properly:

Some things of note:

  • Routers need be part of the inventory for messages/statistics to be processed and properly associated. I’ll improve the related logging in a PR.

  • Even with the Sentinel doing the processing, we still need to install the opennms-telemetry-bmp-stats feature on the Core. This has a timer that does some queries and aggregations.

  • Some minimal data collection configuration needs to be present for the telemetry adapter to work. This is only used for resource type definitions though, so nothing else matters. The “bmp” resource type is the one that is used.

Jesse White July 18, 2023 at 2:07 PM

It looks like all the adapters should be supported on Sentinel.

The Sentinel can send events, it pushes them back to a topic that’s then consumed by the core. This is the same facility leveraged by ALEC in distributed mode and used by thresholding when running on Sentinel.


We’ve been maintaining a “BMP playground” with some soft routers in this repo: that can be used to play with the BMP featureset. I’ll work on updating it to include Sentinel so we can see some of this in action.

Fixed

Details

Assignee

Reporter

Labels

HB Grooming Date

HB Backlog Status

Docs Needed

Yes

Components

Sprint

Priority

PagerDuty

Created July 11, 2023 at 1:13 PM
Updated August 1, 2023 at 1:17 PM
Resolved August 1, 2023 at 1:17 PM