• Products
  • Get started
  • Documentation
  • Resources

Integrate Opsgenie with Solarwinds NPM

Solarwinds logo

Overview

With SolarWinds NPM's quick installation, discover devices to start monitoring them. SolarWinds NPM monitors & displays the response time, availability, and performance of network devices. It also has an intelligent alerting system and executes actions (sending email, using Get or Post URL Functions, etc.) on alert creation and reset.

A SolarWinds NPM alert is an automated notification that a network event has occurred, such as a server becoming unresponsive. The network event that triggers an alert is determined by conditions set during alert configuration.

What does the integration offer?

Opsgenie provides a bidirectional integration for SolarWinds NPM. The integration leverages SolarWinds NPM's "Send a Post Request to a Web Server" functionality and Opsgenie Edge Connector (OEC) utility to automatically create alerts and synchronizes alert status between SolarWinds NPM and Opsgenie.

With the SolarWinds NPM Integration, Opsgenie acts as a dispatcher for these alerts, determines the right people to notify based on on-call schedules– notifies via email, text messages (SMS), phone calls, and iPhone & Android push notifications, and escalates alerts until they are acknowledged or closed.

Opsgenie has a specific API for SolarWinds NPM Integration, SolarWinds NPM sends alerts to Opsgenie, and Opsgenie handles the automatic creation of alerts.

How does the integration work?

  • SolarWinds NPM triggers an alert when a monitored object satisfies the alert's conditions. When an alert is created in SolarWinds NPM, an alert is automatically created in Opsgeniethrough the integration.

  • When the alert is acknowledged in Opsgenie, an alert is acknowledged automatically in SolarWinds NPM as well, by running the script in OEC.

  • When a note is added to the alert in Opsgenie, a note is also added to the alert in SolarWinds NPM as well, by running the script in OEC.

Microsoft servers (.NET based apps, MS S Channel, etc.) have problems handling TLS (https) against Cloudflare; connection failures occur every hour. Ensure you have installed the update to improve TLS session resumption interoperability on your Microsoft servers to keep your integration stable.

Set up the integration

SolarWinds NPM is a bidirectional integration. Setting it up involves the following steps:

  • Add a SolarWinds NPM integration in Opsgenie

  • Configure the integration in SolarWinds NPM

Add a SolarWinds NPM integration

If you're using Opsgenie's Free or Essentials plan or if you’re using Opsgenie with Jira Service Management's Standard plan, you can add this integration from your team dashboard only. The Integrations page under Settings is not available in your plan.

  1. Go to Teams and select your team.

  2. Select Integrations on the left navigation and then select Add integration.

Adding the integration from your team dashboard will make your team the owner of the integration. This means Opsgenie will assign the alerts received through this integration to your team only. Follow the rest of the steps in this section to set up the integration.

To add a SolarWinds NPM integration in Opsgenie:

  1. Go to Settings > Integrations.

  2. Select Add integration.

  3. Run a search and select “SolarWinds NPM”.

  4. On the next screen, enter a name for the integration.

  5. Optional: Select a team in Assignee team if you want a specific team to receive alerts from the integration.

  6. Select Continue.
    The integration is saved at this point.

  7. Expand the Steps to configure the integration section and copy the API key.
    You will use this API key while configuring the integration in SolarWinds NPM later.

  8. Select Turn on integration.
    The rules you create for the integration will work only if you turn on the integration.

Configure the integration in SolarWinds NPM

Opsgenie Edge Connector (OEC) is a prerequisite for configuring the outgoing authentication of Solarwinds Orion NPM integration. Download the latest version of the Solarwinds Orion NPM package from this repository.

  1. In SolarWinds NPM, go to Settings > Manage Alerts > Alert Manager.

  2. Select Add New Alert.

  3. Set alert properties as needed.
    Provide information about the alert, including its name, severity, how frequently to evaluate the conditions, and whether to restrict access to the alert using account limitations.

  4. Set trigger conditions as needed.
    The trigger action is executed when trigger conditions meet. SolarWinds NPM has a robust conditioning mechanism that allows users to build complex conditions. All fields available in the database can be used in these conditions.
    Because of available variable variety and flexibility, building conditions in SolarWinds rather than Opsgenie are highly recommended.

  5. Set a reset condition.
    The reset action is executed when the condition is met.

  6. Set the time interval for the alert to monitor your network, either always enabled or restricted to a specified time.

  7. Enter values for the trigger action and select Add Action.
    With this trigger action, SolarWinds NPM posts alert data to Opsgenie, and an alert is created in Opsgenie. To send alert data back to Opsgenie, set the trigger action to Send a Get or Post Request to a Web Server.

  8. Select POST method.

  9. Paste the URL you copied while adding the integration in Opsgenie.

  10. Enter the variables to send to Opsgenie in the following format: variable1=val1&variable2=val2.
    All variables sent with a Trigger action to Opsgenie can be used in the alerts field "Create alert” action of the SolarWinds NPM Integration.

  11. Specify teams, recipients, and tags by putting them into the content. The default trigger action body can be sent from SolarWinds here.
    The "alias" field in the following example becomes the SolarWinds NPM alerts alias field. To make different alias configurations, change the value of the alias field in post content. Ensure the alias configurations in "Trigger" and "Reset" are the same.

    Opsgenie parses incoming data and creates robust alerts according to the incoming content. Modifying alert fields with incoming data can be done via dynamic fields.

    Create alerts for any monitored object (Nodes, Volumes, Interfaces etc.) in SolarWinds NPM. Use a "Send Http Request" action to send common fields and monitored object-specific fields. In the SolarWinds NPM Integration, alert-specific fields are available as custom integration fields. It still supports dynamic fields to be sent to Opsgenie.

    Example: To include a NodeID variable in an alert in Opsgenie– It's not one of the integration fields available, so send it from the SolarWinds NPM to dynamically use it in alert configuration. Ensure the variable name used in Opsgenie and SolarWinds NPM is the same.

    Add NodeID variable to Http Post Body by: NodeID=${N=SwisEntity;M=NodeID} and then use it in the SolarWinds NPM integration "Create Alert Action" alert fields like in the following example of {{NodeID}}:

  12. Set the reset action. With a reset action, SolarWinds NPM posts the data that closes the corresponding alert in Opsgenie. Configure the reset action with Send a Get or Post Request to a Web Server option. Find the default reset action body to send from SolarWinds NPM here.

  13. Review the alert configuration and select SUBMIT.

Configure Opsgenie to update SolarWinds integration

This is an optional step.

Use the OEC utility and the SolarWinds script to update alerts on SolarWinds. With this setup, you can deploy your script, modify the ones provided, or run customized actions on SolarWinds. To use the SolarWinds integration package, complete the following steps:

1. Download the latest version of OEC for the SolarWinds package from the oec-scripts repository.

2. Install the package.

For Windows

Unzip Opsgenie integration zip file, which contains the OEC package into a directory (C:\opsgenie\oec is the preferred path). Learn about installing OEC on Windows.

To execute actions in SolarWinds, OEC gets the configuration parameters from the configuration file (found under the directory where the zip file is extracted). If you used the preferred path in Windows, it is C:\opsgenie\oec\config.json. Learn about running OEC.

3. Select the Send Alert Actions To SolarWinds checkbox on the SolarWinds integration configuration page in Opsgenie.

Configuration parameter

 Description

url

URL to update SolarWinds alerts when alerts get acknowledged, commented, etc

host

The SolarWinds host

login

The login name to authenticate to the SolarWinds web server to get updates when alerts get acknowledged, commented, etc.

password

The password to authenticate to the SolarWinds web server to get updates when alerts get acknowledged, commented, etc.

The SolarWinds integration package does not support SSL v1.0. If your SolarWinds server has SSL v1.0, upgrade your SSL server.

Sample parameters sent from SolarWinds

(in plain text format)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 ActionType:Create alias:1 ObjectID:1 NodeName:172.31.14.211 Acknowledged:Not Acknowledged AcknowledgedBy: AcknowledgedTime:Never AcknowledgeUrl:http://WIN-PM7542TQNF9:8787/Orion/Netperfmon/AckAlert.aspx?AlertDefID=1 AlertDefID:e896e98d-b36b-4d7d-a32b-d6016269841d AlertDescription:default description AlertDetailsUrl:http://WIN-PM7542TQNF9:8787/Orion/View.aspx?NetObject=AAT:1 AlertID:49 AlertMessage:deneme was triggered AlertName:deneme AlertTriggerCount:312 AlertTriggerTime:Tuesday, January 5, 2016 8:16 AM Application:SolarWinds.Core.Common DateTime:Tuesday, January 5, 2016 8:16 AM DownTime:0 LastEdit:Tuesday, January 5, 2016 8:16 AM ObjectType:Node Severity:Critical TimeOfDay:Alert is always enabled teams:team1, team2 recipients:test@abc.com, test2@abc.com tags:tag1,tag2

Payload parsed by Opsgenie

(in JSON format)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 [ "ActionType": "Create", "ObjectID": "1", "NodeName": "172.31.14.211", "AlertDefID": "e896e98d-b36b-4d7d-a32b-d6016269841d", "DownTime": 0, "AlertTriggerTime": "Tuesday, January 5, 2016 8:16 AM", "DateTime": "Tuesday, January 5, 2016 8:16 AM", "AlertTriggerCount": 312, "ObjectType": "Node", "AlertID": "49", "alias": "1", "AcknowledgedTime": "Never", "AlertMessage": "deneme was triggered", "TimeOfDay": "Alert is always enabled", "AcknowledgedBy": "", "AlertName": "deneme", "teams": "[team1, team2]", "originalTags": "[tag1, tag2]", "AcknowledgeUrl": "http://WIN-PM7542TQNF9:8787/Orion/Netperfmon/AckAlert.aspx?AlertDefID=1", "Severity": "Critical", "originalExtraProperties": "[AlertDefinitionID:e896e98d-b36b-4d7d-a32b-d6016269841d, ObjectType:Node, ObjectID:1]", "tags": "[tag1, tag2]", "AlertDescription": "default description", "LastEdit": "Tuesday, January 5, 2016 8:16 AM", "recipients": "[test@abc.com, test2@abc.com]", "AlertDetailsUrl": "http://WIN-PM7542TQNF9:8787/Orion/View.aspx?NetObject=AAT:1", "Application": "SolarWinds.Core.Common", "Acknowledged": "Not Acknowledged" ]

Troubleshooting

SolarWinds NPM sends the body without making any escapes on data. Hence, if any variables contain any characters that need to be escaped (like &), send the data in advanced mode. Use µ#µ instead of = and §#§ instead of &. Sending the data from SolarWinds NPM to Opsgenie in either format produces the same results in Opsgenie. Refer to a troubleshooting version of the default content for the trigger action body and reset action. Ensure that the Body to Post text matches this to Acknowledge/Close/AddNote actions on the SolarWinds side.



Additional Help