SolarWinds Orion Integration Guide

SolarWinds Orion platform products, such as Network Performance Monitor (NPM) and Server & Application Monitor (SAM), provide network, performance, availability and server monitoring for multi-vendor networks, Linux and Windows Server systems, and detailed application performance monitoring metrics for over 200 applications such as Apache HTTP Server, Microsoft Exchange, and Oracle Database. Both NPM and SAM allow you to trigger and reset alerts based on custom thresholds that can trigger and resolve incidents in PagerDuty.

When SolarWinds Orion creates an alert notification for a node, a component or an application, it will send an event to a corresponding service in PagerDuty. This event will trigger a new incident on the associated PagerDuty service, or group as alerts into an existing incident. This integration works by sending SolarWinds Orion alerts formatted as JSON, using our Events API

When the node, component or application reaches a recovered state in SolarWinds, a resolve event will be sent to the PagerDuty service to resolve the alert, and associated incident on that service

Compatibility

PagerDuty integrations require a Manager base role or higher for account authorization. If you do not have this role, please reach out to an Admin or Account Owner within your organization to configure the integration.

This guide and HTTP Request body were written and tested on Windows Server 2012 R2 with SolarWinds Orion platform 2015.1, 2016.1, 2018.4 and 2019.2. Please see our Legacy SolarWinds NPM Integration Guide if you have an older version of NPM. Earlier versions of SAM/APM and SolarWinds products not using the Orion platform can be configured to send alerts to PagerDuty using an email integration instead.

In PagerDuty

There are two ways that SolarWinds Orion can be integrated with PagerDuty: via Global Event Routing or directly through an integration on a PagerDuty Service.

If you are integrating SolarWinds Orion with an existing PagerDuty service, please skip to the Integrating with a PagerDuty Service section of this guide.

Integrating With Global Event Routing

Integrating with Global Event Routing enables you to route events to specific services based on the payload of the event from SolarWinds Orion. If you would like to learn more, please visit our article on Global Event Routing.

  1. From the Configuration menu, select Event Rules.
  2. On the Event Rules screen, click on the arrow next to Incoming Event Source to display the Integration key information. Copy your Integration Key and keep it in a safe place for later use. When you have finished setting up the integration in SolarWinds Orion, you will return to this interface to specify how to route events from SolarWinds Orion to services in PagerDuty.

Note:  If your team has already integrated using Global Event Routing, you can verify by checking for the PagerDuty Event Rules Integration Key (found in steps 1 and 2 above) in an existing configuration file. You can then use the existing integration and pipe SolarWinds Orion events into your service by writing new Global Event Rules for your service.

You can now proceed to the In SolarWinds Orion section of this guide.

 

Integrating With a PagerDuty Service

Integrating with a PagerDuty service directly can be beneficial if you don’t need to route alerts from SolarWinds Orion to different responders based on the event payload. You can still use service-level event rules to perform actions such as suppressing non actionable alerts and adjusting the severity.

  1. From the Configuration menu, select Services.
  2. If you are adding your integration to an existing service, click the name of the service you want to add the integration to. Then select the Integrations tab and click the New Integration button.

If you are creating a new service for your integration, please read our documentation in section Configuring Services and Integrations and follow the steps outlined in the Create a New Service section, selecting SolarWinds as the Integration Type in step 4.

Continue with the In SolarWinds Orion section (below) once you have finished these steps.

  1. Enter an Integration Name in the format `monitoring-tool-service-name` (e.g., SolarWinds-Shopping-Cart) and select SolarWinds from the Integration Type menu.
  2. Click Add Integration button to save your new integration. You will be redirected to the Integrations tab for your service.
  3. An Integration Key will be generated on this screen. Keep this key saved in a safe place, as it will be used when you configure the integration with SolarWinds Orion in the next section.

On Your SolarWinds Server

  1. Log in to SolarWinds as an admin, then go to the Settings menu and select All Settings (or click Settings in the top right corner of the page if you have an older version of SolarWinds). Click Manage Custom Properties under the Node & Group Management section.


  2. Click Add Custom Property.



  3. Select Nodes and click Next.


  4. Set the Property Name to PDIntegrationKey and, optionally, set a Description, such as “PagerDuty Integration,” then click Next.


  5. Click Select Nodes and check all the nodes in the Available Nodes column that you want to receive alerts for in PagerDuty, click Add to move the nodes to the Selected Nodes column, then click Select Nodes.


  6. Paste the PagerDuty Integration Key you copied earlier in the field under Assign value for “PDIntegrationKey” to selected Nodes, then click Submit.


  7. Download the sample alerts, saving anywhere you like on your workstation or SolarWinds server.
  8. Extract Sample Alerts.zip on your workstation or SolarWinds server (i.e. on your desktop, Downloads folder, or C:\PagerDuty\Sample Alerts).
  9. Navigate back to the Main Settings & Administration page in SolarWinds Orion by going to the Settings menu and selecting All Settings (or click Settings in the top right corner of the page if you have an older version of SolarWinds). Click Manage Alerts under the Alerts & Reports section.


  10. Next, click Export/Import to import some of the most popular alerts we’ve created templates for. Click Import Alert and select the alert definitions you would like to import to SolarWinds from the extracted Sample Alerts location.


    Congratulations! SolarWinds will now be able to trigger and resolve incidents in PagerDuty.

Testing an Alert

Open an alert from SolarWinds panel and navigate to the Trigger Action tab. Simulate the action to send an alert via POST. If successful, a PagerDuty incident will be triggered. If it fails, double check the JSON format and SolarWinds variables that are being used in the HTTP Request Body.

Building Your Own Alerts

You can send additional alerts to PagerDuty by selecting the alert you want to use and going to Trigger Actions, then simply add an action using the Log the Alert to a File option. The file should be logged to C:\PagerDuty\Queue with a .txt file extension, and the content should be JSON that is formatted for our Events API. Check out the alert definitions we provide for examples of how to write your own alerts to be sent to PagerDuty.

Special Characters: you must avoid including quotation mark characters in the alert template. These will cause string termination in the output, resulting in invalid JSON syntax, which will result in the events failing to submit to the Events API. If you need to include quotation marks inside of the template, then it is highly recommended that you use curly quotes, i.e. and , rather than straight quotes ().

FAQ

Can I trigger incidents on multiple PagerDuty services?

Yes! Simply go to the details page for the node that you want to trigger incidents on a different PagerDuty service, scroll down to the Custom Properties section, then click Edit Custom Property Values to set a different value for PDIntegrationKey on that node. No need to change your alerts (unless you’ve hard-coded the integration key for your custom alerts), as the templates we provide use a SQL query to pull the integration key from this custom property on each node.

 

Start Using PagerDuty Today

Try PagerDuty free for 14 days — no credit card required.