Start Using PagerDuty Today
Try PagerDuty free for 14 days — no credit card required.
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
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.
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 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.
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 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.
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.
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 (“).
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.
First try modifying the alert’s Trigger Conditions to something that is presently true to be sure that the problem is not a failure to meet the trigger conditions. If after trying this you see “This alert would be immediately triggered on 0 object(s) in alert scope” in the final Summary step above the Submit button, even though you know that the conditions you have entered under the Trigger Conditions are presently met, a particular bug is likely the culprit. Sometimes SolarWinds alerts can become corrupted and need to be replaced with a new alert. To resolve the issue, create a new alert from scratch with all trigger conditions, actions, etc. identical to the original alert; at the final Summary step you should then see a message indicating that the new alert will trigger for at least one object. After saving the new alert you can then remove the original, corrupted alert.
If you get a “Failed to execute HTTP request” when trying to simulate a trigger or resolve action on an alert, it’s usually either because the JSON is invalid or because the SolarWinds variables are not populating properly.
Try PagerDuty free for 14 days — no credit card required.