Solarwinds NPM Integration

SolarWinds® Network Performance Monitor (NPM) is powerful and affordable network monitoring software that enables you to quickly detect, diagnose, and resolve network performance problems & outages.

With SolarWinds NPM's quick installation, discover devices to start monitoring them. SolarWinds NPM monitors & displays 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 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 up during alert configuration.

What does Opsgenie offer SolarWinds users?

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

With Opsgenie's 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 the alert is acknowledged or closed.

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

Functionality of the integration

  • SolarWinds triggers an alert when a monitored object satisfies the alert's conditions. When an alert is created in SolarWinds, an alert is also created in Opsgenie automatically through the integration.
  • When the alert is acknowledged in Opsgenie, alert is acknowledged automatically in SolarWinds as well, by executing the script in OEC.
  • When a note added to the alert in Opsgenie, a note is also added to the alert in SolarWinds as well, by executing the script in OEC.


Important Note: Make sure that Microsoft servers in use have the following update installed:
Microsoft servers (.NET based apps, MS S Channel, etc.) have problems with handling TLS(https) against Cloudflare; connection failures occur every one hour. Install this update for a more stable integration

Add SolarWinds NPM Integration in Opsgenie

  1. Please create an Opsgenie account if you haven't done so already.
  2. Go to Opsgenie's SolarWinds NPM Integration page.
  3. Specify who is notified of SolarWinds NPM alerts using the Teams field. Auto-complete suggestions are provided as you type.
  4. Copy the API Key.
  5. Click Save Integration.

Configuration in SolarWinds NPM

  1. In SolarWinds NPM, navigate to the Alert Manager from "Settings" -> "Manage Alerts".
  2. In "Alert Manager" click Add New Alert.
  3. Set alert properties. 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.
  1. Set trigger conditions. The trigger action is executed when trigger conditions meet. SolarWinds NPM has a strong conditioning mechanism that gives users the opportunity 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 is highly recommended.

  1. Set a reset condition. The reset action is executed when the condition is met.
  1. Set the time interval for the alert to monitor your network, either always enabled or restricted to a specified time.
  1. Set the trigger action. With this trigger action, SolarWinds NPM posts alert data to Opsgenie and an alert is created in Opsgenie. To POST data to Opsgenie, set the trigger action to Send a Get or Post Request to a Web Server.

Choose Post Method, paste the Integration URL copied previously while saving SolarWinds NPM Integration in Opsgenie.

Then, enter the variables to send to Opsgenie with the 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.

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 alerts alias field. To make different alias configurations, change the value of the alias field in post content. Make sure the alias configurations in both "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 draggable fields.

Create alerts for any monitored object (Nodes, Volumes, Interfaces etc.) in SolarWinds. Use a "Send Http Request" action to send common fields and monitored object-specific fields. In the Opsgenie 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 use it in alert configuration, dynamically. Make sure 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 the SolarWinds NPM Integration "Create Alert Action" alert fields like in the following example of {{NodeID}}:

  1. 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 here.
  1. After reviewing the alert configuration, click SUBMIT.

Configure Opsgenie to SolarWinds Integration (Optional)

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

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


Download latest release

For downloading latest version of SolarWinds package, please use readme file of oec-scripts repository


  • Unzip Opsgenie integration zip file which contains OEC package into a directory (C:\opsgenie\oec is the preferred path.) Follow the instructions here to install OEC on Windows.

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

To be able to execute actions in SolarWinds, OEC gets the configuration parameters from the configuration file. The configuration file can be found under the directory where the zip file is extracted. As per the above instructions, it is C:\opsgenie\oec\config.json


In order to use this feature, the "Send Alert Actions To SolarWinds" checkbox should be enabled in Opsgenie SolarWinds Integration.

Configuration Parameters


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


SolarWinds host.


Credentials to authenticate SolarWinds web server to get update alerts when alerts get acknowledged, commented, etc.


Credentials to authenticate SolarWinds web server to get update alerts when alerts get acknowledged, commented, etc.


SolarWinds integration package does not support SSL v1.0. If your SolarWinds Server has SSL v1.0, we suggest you to upgrade your SSL server.

Sample parameters sent from SolarWinds to Opsgenie

Acknowledged:Not Acknowledged
AlertDescription:default description
AlertMessage:deneme was triggered
AlertTriggerTime:Tuesday, January 5, 2016 8:16 AM
DateTime:Tuesday, January 5, 2016 8:16 AM
LastEdit:Tuesday, January 5, 2016 8:16 AM
TimeOfDay:Alert is always enabled
teams:team1, team2
recipients:[email protected], [email protected]

These parameters are parsed by Opsgenie as:

    "ActionType": "Create",
    "ObjectID": "1",
    "NodeName": "",
    "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": "[[email protected], [email protected]]",
    "AlertDetailsUrl": "http://WIN-PM7542TQNF9:8787/Orion/View.aspx?NetObject=AAT:1",
    "Application": "SolarWinds.Core.Common",
    "Acknowledged": "Not Acknowledged"


SolarWinds NPM sends body without making any escapes on data. So, if any variables contain any characters that need to be escaped (like &), please send the data in advanced mode. Use µ#µ instead of = and §#§ instead of &. You can find a troubleshooting version of the default content for trigger action here and reset action here.

Sending the data from SolarWinds NPM to Opsgenie in either of the following two formats produces the same result in Opsgenie.

Please make sure that the Body to Post text matches the one in here to be able to Acknowledge/Close/AddNote actions on SolarWinds side.

Updated 23 days ago

Solarwinds NPM Integration

SolarWinds® Network Performance Monitor (NPM) is powerful and affordable network monitoring software that enables you to quickly detect, diagnose, and resolve network performance problems & outages.

Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.