# SolarWinds Integration

With the ilert SolarWinds Integration you can easily integrate SolarWinds Orion products (eg [NPM](https://www.solarwinds.com/network-performance-monitor) and [SAM](https://www.solarwinds.com/server-application-monitor)) into ilert. The integration extends SolarWinds with SMS, push and voice notification as well as on-call schedules from ilert. Alerts are created in ilert and automatically resolved. Furthermore, alerts in ilert that were created by SolarWinds contain links to the respective alerts in SolarWinds.

### In ilert: Create a SolarWinds alert source <a href="#create-alarm-source" id="create-alarm-source"></a>

1. Go to **Alert sources** **→** **Alert sources** and click on **Create new alert source**

   <figure><img src="https://3394882078-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M76ygPnS4HUcFSX8ulm%2Fuploads%2FjX0cS4q7woTXKajZmc1W%2FScreenshot%202023-08-28%20at%2010.21.10.png?alt=media&#x26;token=8ef3666b-84eb-4b51-abee-f07303313941" alt=""><figcaption></figcaption></figure>
2. Search for **SolarWinds** in the search field, click on the SolarWinds tile, and click on **Next**.&#x20;

   <figure><img src="https://3394882078-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M76ygPnS4HUcFSX8ulm%2Fuploads%2FlXzQlJpaTFSR49AZk0xA%2FScreenshot%202023-08-28%20at%2010.24.23.png?alt=media&#x26;token=cffeacb4-57b9-47d4-827d-b0f6b1afd914" alt=""><figcaption></figcaption></figure>
3. Give your alert source a name, optionally assign teams, and click **Next**.
4. Select an **escalation policy** by creating a new one or assigning an existing one.

   <figure><img src="https://3394882078-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M76ygPnS4HUcFSX8ulm%2Fuploads%2FNnuZqONaIhbOf6fn4OkZ%2FScreenshot%202023-08-28%20at%2011.37.47.png?alt=media&#x26;token=8a74f7b5-5bd2-4eea-97fa-1c1dbb041333" alt=""><figcaption></figcaption></figure>
5. Select your Alert grouping preference and click Continue setup. You may click "**Do not group alerts for now**" and change it later.&#x20;

   <figure><img src="https://3394882078-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M76ygPnS4HUcFSX8ulm%2Fuploads%2FueugN4JgHn1c90ggFA6u%2FScreenshot%202023-08-28%20at%2011.38.24.png?alt=media&#x26;token=b8009daf-3ca8-4264-a6fa-e42ef7333205" alt=""><figcaption></figcaption></figure>
6. The next page show additional settings such as customer alert templates or notification prioritiy. Click on **Finish setup** for now.
7. On the final page, an API key and / or webhook URL will be generated that you will need later in this guide.

   <figure><img src="https://3394882078-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M76ygPnS4HUcFSX8ulm%2Fuploads%2Fi3TIOBvNYBQfDtNpmm0A%2FScreenshot%202023-08-28%20at%2011.47.34.png?alt=media&#x26;token=6cae965a-e448-4443-8c20-37cf501c43b2" alt=""><figcaption></figcaption></figure>

### In SolarWinds: Create an alert definition <a href="#alert-definition" id="alert-definition"></a>

1. Go to the **Settings → All Settings** tab and click **Manage Alerts**

![](https://3394882078-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M76ygPnS4HUcFSX8ulm%2F-M9_HvsZhXZcuH8fW9ba%2F-M9_I_EKvMw08dA0azTA%2Fsw3.png?alt=media\&token=b3b5157c-2a76-4edd-bb5d-387bef19ca1d)

2. Click on **ADD NEW ALERT**

![](https://3394882078-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M76ygPnS4HUcFSX8ulm%2F-M9_HvsZhXZcuH8fW9ba%2F-M9_IbvuPofvnXw3iQ_F%2Fsw4.png?alt=media\&token=d4a71ff4-38ee-41df-a60c-c544df1b6316)

3. Fill out the **Alert Properties** according to your requirements and click on **NEXT**

![](https://3394882078-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M76ygPnS4HUcFSX8ulm%2F-M9_HvsZhXZcuH8fW9ba%2F-M9_IeYhBpOhhHbw9p_k%2Fsw5.png?alt=media\&token=732fe9f3-9bf3-40cd-8d36-c274b4d1c09b)

4. Define the **trigger condition** on the next page and click on **NEXT**. The **trigger condition** defines the conditions under which you want to be alerted via ilert. You can use the full flexibility of SolarWinds here. In this example we define the following condition: Immediate alarm for all **nodes** that are not in the status **up**.

![](https://3394882078-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M76ygPnS4HUcFSX8ulm%2F-M9_HvsZhXZcuH8fW9ba%2F-M9_IhbfAVftxBKxu_Xh%2Fsw6.png?alt=media\&token=7b5274d8-21a0-459e-b841-57f147dfc846)

5. Define **reset condition** and click on **NEXT**. As soon as the **reset condition** occurs, the associated alert is resolved in ilert.

![](https://3394882078-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M76ygPnS4HUcFSX8ulm%2F-M9_HvsZhXZcuH8fW9ba%2F-M9_IkBwPcTRgXNMCDsA%2Fsw7.png?alt=media\&token=95751cb1-4399-4239-8309-3f7ec720ff43)

6. Select **Time of Day** according to your requirements and click on **NEXT**.

![](https://3394882078-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M76ygPnS4HUcFSX8ulm%2F-M9_HvsZhXZcuH8fW9ba%2F-M9_Io0aFkIWN1Wp1TWg%2Fsw8.png?alt=media\&token=8a6142c1-6d83-4a6a-bf24-96f108684064)

7. **TRIGGER ACTIONS**: Click **Add Action** and select **Send a GET or POST Request to a Web Server** to add **trigger action**.

![](https://3394882078-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M76ygPnS4HUcFSX8ulm%2F-M9_HvsZhXZcuH8fW9ba%2F-M9_Ir3hoV6eX4HQKSdr%2Fsw9.png?alt=media\&token=bea5a1aa-c2ac-4fe7-8121-32f8da975f63)

![](https://3394882078-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M76ygPnS4HUcFSX8ulm%2F-M9_HvsZhXZcuH8fW9ba%2F-M9_Iu7CUdaaUk8tV4Cc%2Fsw10.png?alt=media\&token=f0613939-2a8c-46e7-b352-e07d18669d35)

8. Enter the `HTTP POST` Action URL generated in ilert in the **URL** field and select Use **HTTP / S POST** . Enter the following in the **Body to POST** field:

![](https://3394882078-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M76ygPnS4HUcFSX8ulm%2F-M9_HvsZhXZcuH8fW9ba%2F-M9_IzEJnMPI17fKjKfr%2Fsw11.png?alt=media\&token=814cba15-ea90-4b1b-9b59-748230f33700)

```
iLertEventType=ALERT&
iLertIncidentKey=${N=Alerting;M=AlertObjectID}-${N=Alerting;M=AlertActiveID}&
iLertEventSummary=${N=SwisEntity;M=DisplayName} (${N=SwisEntity;M=IP_Address}): ${N=SwisEntity;M=StatusDescription}&
iLertUrl=${N=Alerting;M=AlertDetailsUrl}&
AcknowledgeUrl=${N=Alerting;M=AcknowledgeUrl}&
AlertName=${N=Alerting;M=AlertName}&
AlertActiveID=${N=Alerting;M=AlertActiveID}&
AlertObjectID=${N=Alerting;M=AlertObjectID}&
ObjectType=${N=Alerting;M=ObjectType}&
Severity=${N=Alerting;M=Severity}
```

9. **Optional**: Activate the **Repeat this action action every X minutes until the alert is acknowledged** option in the **execution settings**. This is for safety, if an alert could not be sent to ilert (e.g. due to a network problem).

![](https://3394882078-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M76ygPnS4HUcFSX8ulm%2F-M9_HvsZhXZcuH8fW9ba%2F-M9_J1Ds7Vv1xrhTAOrU%2Fsw12.png?alt=media\&token=49516fae-0c6c-4801-ba16-800b190a754e)

10. &#x20;On **ADD ACTION** and then click **NEXT**.
11. &#x20;**RESET ACTIONS**: Click **Add Action** and select **Send a GET or POST Request to a Web Server** to add **Reset Action**. Enter the `HTTP POST` Action URL generated in ilert in the **URL** field and select Use **HTTP / S POST** . Enter the following in the **Body to POST** field :

![](https://3394882078-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M76ygPnS4HUcFSX8ulm%2F-M9_HvsZhXZcuH8fW9ba%2F-M9_J5HLim6yqZpxGPOe%2Fsw13.png?alt=media\&token=f8281b69-025c-45e0-828c-221cc1d8fa79)

```
iLertEventType=RESOLVE&
iLertIncidentKey=${N=Alerting;M=AlertObjectID}-${N=Alerting;M=AlertActiveID}&
iLertEventSummary=${N=SwisEntity;M=DisplayName} (${N=SwisEntity;M=IP_Address}): ${N=SwisEntity;M=StatusDescription}
```

12. &#x20;On **ADD ACTION** and then click **NEXT**.
13. &#x20;Click **SUBMIT** on the **SUMMARY** page.

### FAQ <a href="#faq" id="faq"></a>

**Are alerts automatically resolved in ilert?**

Yes, as soon as the **reset condition** for an alert has occurred in SolarWinds, the associated alert in ilert is resolved.

**What if an alert is acknowledged in SolarWinds, is the associated alert also acknowledged in ilert?**

No, in SolarWinds, it is unfortunately not possible to perform an action after an acknowledgment.

**Can I link SolarWinds to multiple alert sources in ilert?**

Yes, create several alert definitions in SolarWinds and store the corresponding URL of the alert source from ilert in the HTTP URL.

**What if my internet connection is lost? Are the alerts generated in SolarWinds lost?**

No, no alerts are lost if you have activated the option **Repeat this action every X minutes until the alert is acknowledged** in SolarWinds (see above). We also recommend that you monitor your Internet connection with an external monitoring service.

**Can I change the content of the alert in ilert (e.g. the summary)?**

Yes, you can configure this in the definition of the trigger action. In the HTTP Post Body, several variables in the format `variable1=value1&variable2=value2&variable3=value3...` are sent to ilert. To change the summary text of the alert, change the definition of the variable `iLertEventSummary` . All other variables that you add below `iLertEventSummary` inserted in the description of the alert.

**The integration doesn't work. How do I find the issue?**

If you do not find the error, please contact our support at <support@ilert.com>.
