Get started with Opsgenie as a user
Learn how to configure your profile, get notifications from Opsgenie and view on-call schedules.
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 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 up during alert configuration.
Opsgenie provides a bidirectional integration for SolarWinds NPM. The integration leverages SolarWinds NPM's "Send a Post Request to a Web Server" functionality and OEC utility to automatically create alerts and synchronizes alert status between SolarWinds NPM 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 NPM sends alerts to Opsgenie and Opsgenie handles the automatic creation of alerts.
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 also created in Opsgenie automatically through the integration.
When the alert is acknowledged in Opsgenie, alert is acknowledged automatically in SolarWinds NPM 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 NPM as well, by executing the script in OEC.
Important Note: Make sure that Microsoft servers in use have the following update installed: https://support.microsoft.com/en-us/kb/3109853
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
You can add this integration from your team dashboard
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 only add this integration from your team dashboard as the Integrations page under Settings is not available in your plan.
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.
To do that,
Go to your team’s dashboard from Teams,
Select Integrations, and select Add integration.
Follow the rest of the steps to complete the integration.
Go to Settings > Integrations. Search for SolarWinds NPM and select Add.
Specify who is notified of SolarWinds NPM alerts using the Responders field. Auto-complete suggestions are provided as you type.
Copy the API Key.
Select Save Integration.
In SolarWinds NPM, navigate to the Alert Manager from "Settings" -> "Manage Alerts".
In "Alert Manager" click Add New Alert.
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.
4. 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.
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. 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 NPM 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 NPM. 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}}:
8. 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.
9. After reviewing the alert configuration, click SUBMIT.
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 the latest version of OEC
To download the latest version of Solarwinds package, please use readme file of oec-scripts repository.
Installation
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 | URL to update SolarWinds alerts when alerts get acknowledged, commented, etc. |
host | SolarWinds host. |
login | Credentials to authenticate SolarWinds web server to get update alerts when alerts get acknowledged, commented, etc. |
password | 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.
Text
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
These parameters are parsed by Opsgenie as:
JSON
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"
]
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.
Was this helpful?