Implement the Sink pattern using AWS SQS

Description

Currently, there are 2 implementations for the Sink pattern: one based on ActiveMQ and another based on Kafka.

The Sink pattern is used by Minions to forward SNMP Traps and Syslog messages to the central OpenNMS.

When running OpenNMS inside AWS, it will be very useful and more robust to use SQS as the backend for the Sink pattern, instead of investing effort on maintaining a highly available cluster with either ActiveMQ or Kafka.

Acceptance / Success Criteria

None

Lucidchart Diagrams

Activity

Show:

Jesse White October 31, 2017 at 1:44 PM

PR was merged into the release-21.0.1 branch.

Alejandro Galue October 19, 2017 at 4:12 PM

The JUnit test is disabled as it requires AWS credentials. There are ways to mock it, but I'd like to hear opinions for the best way to do it.

Alejandro Galue October 19, 2017 at 4:11 PM

The current solution works but requires AWS credentials when it is running outside AWS.

The credentials can be specified either through the Sink configuration file for AWS, or using the internal credential files maintained by the AWS CLI (i.e. ~/.aws/credentials).

When running inside AWS, you can configure a role to provide access to SQS, and the AWS SDK will let you access it without credentials.

Alejandro Galue October 19, 2017 at 4:09 PM

Fixed

Details

Assignee

Reporter

Components

Fix versions

Priority

PagerDuty

Created October 19, 2017 at 4:07 PM
Updated October 31, 2017 at 1:46 PM
Resolved October 31, 2017 at 1:44 PM