How to Integrate SolarWinds NPM with PagerDuty

SolarWinds Network Performance Monitor (NPM) is a powerful network fault and availability management system that makes it easy to quickly detect, diagnose, and resolve performance issues before outages occur. SolarWinds NPM tracks response time, availability, uptime of routers and displays performance statistics in real time, and notifies users when something goes awry. PagerDuty and SolarWinds NPM work together to provide better incident alerting and easy-to-manage on-call schedules to SolarWinds’ network monitoring. PagerDuty alerts can be sent by a wide breadth of contact methods to ensure quick and reliable responses.  This guide will walk you through the process of integrating SolarWinds NPM with PagerDuty.  If you run into any issues with this integration, please contact our support.

In PagerDuty:

  1. Login to your PagerDuty account, and select Services > Add New Service.
    Add PagerDuty Service
  2. Enter a service name and select an escalation policy.
  3. Start typing “SolarWinds” under “Integration Type” to filter your choices. Then, click the Add Service button.
    SolarWinds

In SolarWinds NPM:

  1. From your Solarwinds NPM server, login to your PagerDuty account.  Go to the SolarWinds NPM service that you just created and download the VB Script Trigger Action and Reset Action files.
    Download PagerDuty Actions
  2. Move the action.vbs files you have just downloaded to C:\Program Files\PagerDuty\your-service-key\action.vbs.
  3. Open the Advanced Alert Manager (Start > Programs > SolarWindsOrion > Alerting, Reporting, and Mapping > AdvancedAlertManager).
  4. Either select an existing alert or create a new alert.  If configuring a new alert, set up the Alert Name, Trigger Condition and Reset Condition fields.
  5. Go to the Trigger Actions tab.  Click on Import Actions.
    Import Trigger Action
  6. Select the Trigger.AlertActions file and click Open.
    Select Trigger Action
  7. Go to the Reset Actions tab.  Click on Import Actions.
    Import Reset Action
  8. Select the Reset.AlertActions file and click on Open.
    Select Reset Action
  9. Click on OK to save your alert.
    Save Alert Triggers
  10. If you would like to test your alert, select it from the list and click on the Test button.
    Test Alert
  11. Select a node for the test, and then click on Test Alert Trigger.
    test_trigger_alert
    It takes a moment for the test to initialize, but you will get an alert within PagerDuty.
    Triggered PagerDuty Incident
  12. You can now run a test to clear the alert, so click on the Clear Alert Test button and then click on the Test Alert Reset button.
    Test Reset Alert
    The incident within PagerDuty will now resolve.
    Resolved PagerDuty Incident

Congratulations!  You’ve now configured SolarWinds NPM to integrate with PagerDuty. Please contact support@pagerduty.com with any questions or issues.

 

FAQ

How do I setup SolarWinds NPM to use multiple PagerDuty services?

In order to tie SolarWinds NPM to multiple PagerDuty services, you will repeat all of the steps of this guide.  The only things that you will do differently are that you will create multiple services within PagerDuty, download the new actions and vbscripts for each, and use those for your alerts within SolarWinds NPM.

Can I customize the message that I receive from SolarWinds & PagerDuty?

Yes, you can customize the message that is sent to you.  If you feel comfortable editing VBScript, you can edit the VBScript script you’ve downloaded to send different information to PagerDuty.

<Deleted old action xml>

You can modify the SolarWinds Macros passed in by loading up the Advanced Alert Manager and going to the alert you would like to edit.

Solarwinds_Integration_-_Google_Docs

 

The message that is sent to you in PagerDuty is the description field.  You can modify this field to include other SolarWinds Macros.  The full list of available macros can be found here.

If you would like to change how your incidents are de-duplicated, you can modify the incident_key as well.