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. 



  • Get the Endpoint URL and the Auth key for SolarWinds NPM by following the integration setup.


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.