Skip to main content

UXM and ServiceNow integration

UXM (Splunk) and ServiceNow Integration​

Setting up integration between UXM (Splunk) and ServiceNow involves configuring both platforms to communicate effectively so that events and incidents detected in UXM/Splunk can be automatically sent to ServiceNow for further action or resolution.


Example​

Scenario:
Endpoint has less than 28 GB left on system disk.

UXM detects that the endpoint has under 28 GB disk space left on the OS disk and creates a ServiceNow incident.

  • Results from UXM can be added to short description, comments, etc., for details on endpoint status when the incident was created.
  • Assignment group can be dynamically set based on Country/Region of the endpoint machine.
    • Recommended: Use region/location from Active Directory OU to avoid incorrect assignment due to VPN or travel.

Clicking on the Splunk Drilldown button will open the Endpoint details dashboard inside UXM.

Affected CI / Configuration Item can be set to the endpoint machine to allow the ServiceNow team to:

  • Look up more information
  • View other incidents affecting the same machine

After the disk is freed up, UXM reports to ServiceNow that the incident is resolved and automatically closes it.


Configuration​

ServiceNow Configuration​

Follow the official guide to configure Splunk ServiceNow integration:
https://docs.splunk.com/Documentation/AddOns/released/ServiceNow/ConfigureServiceNowtointegratewithSplunkEnterprise

The following app will be installed on ServiceNow, enabling Splunk to query the API and create/pull incidents:
https://store.servicenow.com/sn_appstore_store.do#!/store/application/bac6db564f6a3100a0fc7d2ca310c721

  • Mandatory fields must be correctly configured/mapped in the Splunk → ServiceNow transform sets

UXM Configuration​

Account​

Install the Splunk Add-on for ServiceNow from:
https://splunkbase.splunk.com/app/1928/

  • Open the add-on and configure the ServiceNow service account
  • Supported authentication:
    • Basic
    • OAuth2


Inputs​

  • Incidents can be imported into Splunk/UXM via:
    input_name = incident


Alerts - UXM Alert Manager​

The UXM Alert Manager handles scenarios where no data is received from:

  • Endpoint
  • Application
  • Team Room
  • etc.

You can create notifications that handle:

  • Alert creation
  • Auto-resolution
  • Alert closure

Supported actions:

  • Email
  • Microsoft Teams
  • Webhooks
  • SPL (for custom integrations via Splunk Add-ons)


Using Search Results in Actions​

Results from searches can be used in actions via:

$result.fieldName$

Example: Creating a ServiceNow Incident​

| makeresults 1
| eval ad_country = lower("$result.ad_country$")
| lookup servicenow_country_to_local_it_group_lookup country AS ad_country OUTPUT servicenow_assignment_group | fillnull value="ServiceDesk" servicenow_assignment_group
| eval account="servicenow_prd"
| eval scripted_endpoint="/api/now/table/x_splu2_splunk_ser_u_splunk_incident"
| eval category=""
| eval short_description="$result.threshold_text$"
| eval contact_type="Event"
| eval splunk_url="https://customername.uxmapp.com/en-US/app/uxmapp/endpoint_details?form.timesel.earliest=-7d%40d&form.timesel.latest=now&lookup_key=$result.context$&form.link=disks&sort=avg_cpu&form.programs_search=*&form.metricspan=1d&form.logname=*&form.event_source=*&form.event_level=*&form.event_id=*&form.rows=25&form.eventlog_search=*&form.devices_search=*"
| eval urgency="5"
| eval impact="5"
| eval subcategory=""
| eval state="1"
| eval comments="[code]<p>UXM has detected that machine $result.hostname$ has $result.free_space_left_gbytes$ GB left on OS Disk $result.mount_point$.</p><p>Please investigate and free up space. Use the Splunk Drilldown link in ServiceNow to see machine info in UXM.</p><p>Workstation with less than 30 GB of available space on their system disks can cause:</p><p><ul><li><b>Update Failures:</b> Windows upgrades may fail, increasing security risks.</li><li><b>Performance Degradation:</b> System slowdown due to limited space.</li><li><b>System Instability:</b> Applications or OS may crash.</li><li><b>File Corruption:</b> Improper file handling due to lack of space.</li></ul></p>[/code]"
| eval location=""
| eval correlation_id="$result.correlationID$"
| eval priority="5"
| eval assignment_group=servicenow_assignment_group
| eval ci_identifier="$result.hostname$"
| snowincidentstream

Templates​

Create templates that define:

  • Assignee
  • Initial status
  • Priority
  • Auto-resolution behavior (when no data is received)

Enable Saved Searches for:

  • Creating incidents
  • Closing incidents


Alerts - ServiceNow Incident Integration​

Alerts can be sent to ServiceNow from Scheduled Saved Searches as:

  • Incidents
  • Events

UXM must know the following values (may vary per customer):

  • State
  • Contact Type
  • Assignment Group
  • Category
  • Subcategory
  • Impact
  • Urgency
  • Priority


Correlation ID​

  • Used to ensure only one incident is created
  • If the incident already exists:
    • It will be reopened
    • Or updated/appended instead of creating a duplicate