About the integration:


Quickly detect and resolve network performance problems by channelling your SolarWinds alerts to create enriched and aggregated alerts in Freshservice. You can also set alert rules to create contextual incidents to route it to the right team for a quick resolution.


Configuration in Freshservice:

  • Click on Admin > Alert Profiles > Create a New Alert Profile or open an existing Alert Profile.
  • Click on “Add Integration” to select the tool to integrate with
  • Select “SolarWinds NPM” in the tool selection page. 



Step1: Configure Incoming Alerts


This step involves configuring the content of the alert sent from SolarWinds NPM to be restructured in Freshservice.

  • Enter a Name and Description for your integration with SolarWinds NPM. 
  • By default, Freshservice displays a sample alert to show the default structure in which alerts are sent from SolarWinds NPM. 
  • If you have configured a different alert payload content in SolarWinds NPM, copy and paste the same to allow Freshservice to reconstruct it in the next screen else and click on Save & Next 



Step2: Map Alert Fields


In this step, you can configure the alert information that you want to see in Freshservice to be able to effectively resolve any issue. 

  • You can find SolarWinds’ alert fields mapped to Freshservice alert fields by default.
  • To edit this or to map more fields, you can click on the ‘+’ icon on hovering over each field and select the fields to map
  • If you do not have any changes, click on Save & Next



Step 3: Map Alert Severity


Severities help you understand how quickly an issue has to be acted upon. By mapping the equivalent alert severity of SolarWinds NPM in Freshservice, you can filter alerts based on these values.

  • By default,  you can find the SolarWinds’ alert severities mapped to Freshservice’s alert severities.
  • You can edit or enter your required values and click on Save and Next

Note:

  • On receiving a notification with "OK" severity, alerts created in Freshservice will be automatically resolved
  • If the severities do not match, alerts will be created with "Warning" severity.


Step 4: Configuration in SolarWinds NPM

  • Copy the Authorization token and Endpoint URL to be configured in SolarWinds NPM and click Enable to complete the configuration in Freshservice.



Configuration in SolarWinds NPM


Note: It is a prerequisite to have CURL command installed on your machine to successfully configure this integration. Based on your OS, you can download and install the same from here


  • In SolarWinds NPM, click on Settings  >All Settings > Alerts and Reports > Manage Alerts
  • In Alert Manager click on “Add New Alert”
  • Set the necessary alert properties. Enter the required alert information such as name, severity, how frequently the conditions must be evaluated and whether alert access must be restricted using account limitations.


  • Set the required trigger conditions for your alert


  • In the trigger actions tab, click on the Add Action  and choose "Execute an External Program"


  • In the Network Path to external program, copy paste the below code snippet after 
    • Replacing <CURL cmd installation location> with your actual location as shown in the screenshot.
    • Replacing <Authorisation header from Freshservice> with the Authorisation header that you copied from Freshservice.
    • Replacing <Endpoint URL from Freshservice> with the Endpoint URL that you copied from Freshservice.


      <CURL cmd installation location>\curl -X POST -H "<Authorisation header from Freshservice>" -H "Content-Type: application/json" --data "{\"resource\": \"${N=SwisEntity;M=Caption}\", \"metric_name\": \"${N=Alerting;M=AlertName}\", \"message\": \"${N=Alerting;M=AlertMessage}\", \"description\": \"${N=Alerting;M=AlertDescription}\", \"severity\": \"${N=Alerting;M=Severity}\", \"node\": \"${N=Alerting;M=AlertObjectID}\", \"occurrence_time\": \"${N=Alerting;M=AlertTriggerTime}\", \"alert_details_url\": \"${N=Alerting;M=AlertDetailsUrl}\", \"acknowledge_url\": \"${N=Alerting;M=AcknowledgeUrl}\"}" <Endpoint URL from Freshservice>
      
      



  • Click on Save changes.
  • You can simulate sending an alert to Freshservice by clicking on Simulate Alert
  • Click Next and Submit after the configuration is done. When the alert condition is triggered in SolarWinds, alerts get created in Freshservice.
  • In the next step, to set a Reset Action, click on Add Action
  • In the trigger actions tab, click on the Add Action  and choose "Execute an External Program"
  • In the Network Path to external program, copy paste the below code snippet after 
    • Replacing <CURL cmd installation location> with your actual location as shown in the above screenshot.
    • Replacing <Authorisation header from Freshservice> with the Authorisation header that you copied from Freshservice.
    • Replacing <Endpoint URL from Freshservice> with the Endpoint URL that you copied from Freshservice.

  • <CURL cmd installation location>\curl -X POST -H "<Authorization header from Freshservice>" -H "Content-Type: application/json" --data "{\"resource\": \"${N=SwisEntity;M=Caption}\", \"metric_name\": \"${N=Alerting;M=AlertName}\", \"message\": \"${N=Alerting;M=AlertMessage}\", \"description\": \"${N=Alerting;M=AlertDescription}\", \"severity\": \"ok\", \"node\": \"${N=Alerting;M=AlertObjectID}\", \"occurrence_time\": \"${N=Alerting;M=AlertTriggerTime}\", \"alert_details_url\": \"${N=Alerting;M=AlertDetailsUrl}\", \"acknowledge_url\": \"${N=Alerting;M=AcknowledgeUrl}\"}" <Endpoint URL from Freshservice>
    
    

    Click on Submit after the configuration is done. When the alert condition is triggered in SolarWinds, alerts get created in Freshservice.