servicenow.event() function
servicenow.event()
is a user-contributed function maintained by
the package author.
servicenow.event()
sends an event to ServiceNow.
ServiceNow Event API fields are described in ServiceNow Create Event documentation.
Function type signature
(
description: A,
password: string,
severity: B,
url: string,
username: string,
?additionalInfo: C,
?messageKey: D,
?metricName: E,
?metricType: F,
?node: G,
?resource: H,
?source: I,
) => int where B: Equatable, C: Equatable
Parameters
url
(Required) ServiceNow web service URL.
username
(Required) ServiceNow username to use for HTTP BASIC authentication.
password
(Required) ServiceNow password to use for HTTP BASIC authentication.
description
(Required) Event description.
severity
(Required) Severity of the event.
Supported values:
critical
major
minor
warning
info
clear
source
Source name. Default is "Flux"
.
node
Node name or IP address related to the event.
Default is an empty string (""
).
metricType
Metric type related to the event (for example, CPU
).
Default is an empty string (""
).
resource
Resource related to the event (for example, CPU-1
).
Default is an empty string (""
).
metricName
Metric name related to the event (for example, usage_idle
).
Default is an empty string (""
).
messageKey
Unique identifier of the event (for example, the InfluxDB alert ID).
Default is an empty string (""
).
If an empty string, ServiceNow generates a value.
additionalInfo
Additional information to include with the event.
Examples
Send the last reported value and incident type to ServiceNow
import "contrib/bonitoo-io/servicenow"
import "influxdata/influxdb/secrets"
username = secrets.get(key: "SERVICENOW_USERNAME")
password = secrets.get(key: "SERVICENOW_PASSWORD")
lastReported =
from(bucket: "example-bucket")
|> range(start: -1m)
|> filter(fn: (r) => r._measurement == "cpu" and r._field == "usage_idle")
|> last()
|> findRecord(fn: (key) => true, idx: 0)
servicenow.event(
url: "https://tenant.service-now.com/api/global/em/jsonv2",
username: username,
password: password,
node: lastReported.host,
metricType: lastReported._measurement,
resource: lastReported.instance,
metricName: lastReported._field,
severity:
if lastReported._value < 1.0 then
"critical"
else if lastReported._value < 5.0 then
"warning"
else
"info",
additionalInfo: {"devId": r.dev_id},
)
Was this page helpful?
Thank you for your feedback!
Support and feedback
Thank you for being part of our community! We welcome and encourage your feedback and bug reports for Flux and this documentation. To find support, use the following resources:
Customers with an annual or support contract can contact InfluxData Support.