BigPanda integration / HTTP POST notifications with authentication header?

Hi all, I’m trying to integrate OpenNMS alarms or notifications with BigPanda. I was thinking to use the HTTP POST notification strategy, but does it support setting HTTP headers such as Authorization and Content-Type? This is needed to post to BigPanda API.

Alternatively does anyone have experience integrating with BigPanda that they can share, or ideas to send this data to external systems?

Thanks!
Jason

Looking at the BigPanda’s Alert API reminds me of the work I recently did with the OpenNMS PagerDuty Plugin. We could look at writing a similar plugin for BigPanda.

Is sending alarms to their Alert API what you are looking for?

Their Topology UI API looks pretty neat too.

1 Like

Hi Jesse, yes this is precisely what I am trying to do, using BigPanda’s Alert API. I just looked at your Pager Duty Plugin, very nice! Thanks for sharing that.

I just finished writing an archetype that makes it easier to kick start new plugins and used it to build:
BigPanda Plugin.

It’s not tested since I don’t have access to the service, but it might work if I read their docs correctly :slight_smile:

Right on Jesse!! I’m excited to try this out, will let you know how it goes! Thanks!

Thanks for the Big Panda plugin Jesse!! So far so good. Here is a screenshot of it in action.

@sh0x Is this still working for you?
I set it up using the instructions in the README, but changing alpha1 to alpha2 in the wget. I have created a new integration in BigPanda and can successfully send alarms/clears using the appkey and token using curl, but in OpenNMS I’m getting this:

admin@opennms> config:edit org.opennms.integrations.bigpanda
admin@opennms> property-set applicationKey 2REDACTED3
admin@opennms> property-set accessToken 4REDACTED9
admin@opennms> config:update
admin@opennms> opennms:health-check
Verifying the health of the container

Verifying installed bundles                    [ Success  ]
BigPanda API Connectivity                      [ Failure  ] => java.lang.Exception: Request to URL: https://api.bigpanda.io/data/v2/alerts failed with response code: 404 and body: <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Error</title>
</head>
<body>
<pre>Not Found</pre>
</body>
</html>

It looks like this is working, though the opennms:health-check is still returning the 404 error. The issue seems to be the “ping” method being used here, it’s just a GET to the API endpoint with not payload, so that’s not allowed by Big Panda. I’m not finding a NOOP endpoint that we can point to, but that would be better than the error. But for now I have something I can test. I’ll ask the BP folks if they have a good suggestion for this and I’ll see if I can must enough Java foo to send in a PR.

1 Like

Right you got it. It’s just the health check that fails. PR would be great to fix it!