content/kapacitor/v1/reference/event_handlers/servicenow.md
ServiceNow provides service management software with a comprehensive managed workflow that supports features such as real-time communication, collaboration, and resource sharing. Configure Kapacitor to send alert messages to ServiceNow.
Configuration and default option values for the ServiceNow event
handler are set in your kapacitor.conf.
The example below shows the default configuration:
[servicenow]
# Configure ServiceNow.
enabled = false
# The ServiceNow URL for the target table (Alert or Event). Replace this instance with your hostname.
url = "https://instance.service-now.com/api/global/em/jsonv2"
# Default source identification.
source = "Kapacitor"
# Username for HTTP BASIC authentication
username = ""
# Password for HTTP BASIC authentication
password = ""
enabledSet to true to enable the ServiceNow event handler.
urlThe ServiceNow instance address.
sourceDefault "Kapacitor" source.
usernameUsername to use for basic HTTP authentication.
passwordPassword to use for basic HTTP authentication.
The following ServiceNow event handler options can be set in a
handler file or when using
.serviceNow() in a TICKscript. These options set corresponding fields in the ServiceNow alert or event. For information about ServiceNow alerts, see Manually create an alert.
| Name | Type | Description |
|---|---|---|
| node | string | ServiceNow node to associate with the event. |
| type | string | ServiceNow type used to identify an event record from which alerts are created, for example, disk or CPU. |
| resource | Adds key values pairs to the Sensu API request. | |
| metricName | string | Unique name that describes metrics collected for which the alert has been created. |
| messageKey | string | Unique event identifier used to identify multiple events related to the same alert. If empty, this is generated from the source, node, type, resource, and metricName field values. |
| source | string | Source that generated the event. |
| message | string | Alert message. |
| alert ID | string | Unique ID used to identify the alert. |
{{% note %}}
All the handler options above support templates with the following variables: ID, Name, TaskName, Fields, Tags, same as in the AlertNode.message.
{{% /note %}}
By default, the handler maps the Kapacitor values below to the ServiceNow Alert or Event fields as follows:
| Value | Field |
|---|---|
| source | Source |
| message | Description |
| alert ID | Message key |
stream
|from()
.measurement('cpu')
|alert()
.crit(lambda: "usage_user" > 90)
.stateChangesOnly()
.message('Hey, check your CPU')
.serviceNow()
stream
|from()
.measurement('cpu')
|alert()
.crit(lambda: "usage_user" > 90)
.message('Hey, check your CPU')
.serviceNow()
.node('{{ index .Tags "host" }}')
.type('CPU')
.resource('CPU-Total')
.metricName('usage_user')
.messageKey('Alert: {{ .ID }}')