• Products
  • Get started
  • Documentation
  • Resources

Integrate Opsgenie with LibreNMS

LibreNMS logo

What does Opsgenie offer to LibreNMS users?

Using Opsgenie LibreNMS integration, LibreNMS forwards alerts to Opsgenie with detailed information. Opsgenie acts as a dispatcher for LibreNMS alerts, determines the right people to notify based on on-call schedules– notifies via email, text messages (SMS), phone calls and iOS & Android push notifications, and escalates alerts until the alert is acknowledged or closed.

Functionality of the integration

  • When an alert is triggered in LibreNMS, the alert is created in Opsgenie.

  • When the alert is acknowledged in LibreNMS, the alert is acknowledged in Opsgenie.

  • When the alert is closed in LibreNMS, it closes the alert in Opsgenie.

  • If Send Alert Updates Back to LibreNMS is enabled, actions for LibreNMS are executed in LibreNMS when the chosen action is executed in Opsgenie for alerts which are created by the LibreNMS integration. (Optional)

Add LibreNMS Integration in Opsgenie

  1. Go to Opsgenie LibreNMS Integration page.

Under the Free and Essentials plans, the tabs under the Team dashboard are limited to Main, Integrations, Members, and Activity Stream.

2. Specify who is notified of LibreNMS alerts using the Teams field. Auto-complete suggestions are provided as you type.

An alternative for Step 1) and Step 2) is to add the integration from the Team Dashboard of the team which will own the integration. To add an integration directly to a team, navigate to the Team Dashboard and open Integrations tab. Click Add Integration and select the integration that you would like to add.

3. Copy the Webhook URL.

4. Click Save Integration.

LibreNMS integration

Configuration in LibreNMS

  1. Open Global Settings from the gear icon on the top menu in LibreNMS.

  2. Select the Alerting Settings tab.

  3. Find "Opsgenie" from the list and expand it by clicking on the arrow.

  4. Paste the Webhook URL into the "Opsgenie URL" field.

LibreNMS webhook

Integration via OEC (Optional)

Use Opsgenie’s OEC and the LibreNMS script to update alerts on LibreNMS. This enables the deployment of your own scripts/ability to modify the ones provided and execute customized actions on LibreNMS.

To use the LibreNMS integration package, follow the steps in the sections below through the end.

Download the latest version of OEC

To download the latest version of LibreNMS package, please use readme file of oec-scripts repository.

Installation

For Red Hat Based Distributions

  • Run following command : 

    1 rpm -i opsgenie-librenms-<your_version>.rpm

If while installing the rpm package you get an error saying that the package is obsolated, you need to use "rpm -i opsgenie-librenms-<your_version>.rpm --nodeps" instead.

If you get "is already installed" error, use "rpm -i opsgenie-librenms-<your_version>.rpm --force" instead.

For Debian Based Distributions

  • Run following command : 

    1 dpkg -i opsgenie-librenms-<your_version>.deb

For Windows

  • Unzip opsgenie integration zip file which contains OEC package into a directory (C:\opsgenie\oec is the preferred path.)

  • In order to learn more about how to run OEC you can refer to the Running OEC documentation.

Configuring LibreNMS Integration for OEC

  • In order to use OEC utility, enable Send Via OEC.

  • Other configurations regarding LibreNMS can be done either via integration page or OEC configuration file config.json. The configuration via the integration page precedes the configuration file.

Configuration parameters

All of these are mandatory to fill.

  • apiKey – Copy the API key from the LibreNMS integration you've created above.

  • url – Your LibreNMS server URL.

  • apiToken – Your LibreNMS server API token.

The package that you downloaded also includes OEC utility which is located under /usr/local/bin and the script that is needed to be run by OEC which is under /home/opsgenie/oec/scripts. After the configuration of OEC is done, you need to run it. In order to learn more about how to run OEC, you can refer to the Running OEC documentation.

Sample Parameters Sent to OEC

JSON

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 { "type": "libreNMS", "alertId": "f3b3475f-3859-4bd1-b472-ab339ea1e61d", "customerId": "4a644594-240d-4a51-ab88-0171ed29c0ce", "action": "Acknowledge", "mappedActionV2": { "name": "ackAlert", "extraField": "" }, "integrationId": "1334572c-f412-428c-9ab1-607f8313fba3", "integrationName": "LibreNMS", "integrationType": "LibreNMS", "sendViaOEC": true, "alertFlowContext": { "requestId": "9eb36837-e601-12da-92ba-8fe3224230ad", "traceId": "9eb36837-e601-12da-92ba-8fe3224230ad", "content": { "alertId": "f3b3475f-3859-4bd1-b472-ab339ea1e61d" } }, "url": "", "apiToken": "", "rule": "%macros.device_up = \"1\" && %processors.processor_usage >= \"1\"" }

 

Last modified on Apr 9, 2021
Cached at 3:39 PM on Apr 12, 2021 |

Additional Help

Ask the Community