servicenow.event() function
The servicenow.event()
function is a user-contributed function maintained by
the package author and can
be updated or removed at any time.
The servicenow.event()
function sends an event to ServiceNow.
import "contrib/bonitoo-io/servicenow"
servicenow.event(
url: "https://example-tenant.service-now.com/api/global/em/jsonv2",
username: "example-username",
password: "example-password",
description: "Example event description.",
severity: "minor",
source: "",
node: "",
metricType: "",
resource: "",
metricName: "",
messageKey: "",
additionalInfo: {},
)
Parameters
ServiceNow Event API fields are described in ServiceNow Create Event documentation.
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},
)
Package author and maintainer
Github: @alespour, @bonitoo-io
InfluxDB Slack: @Ales Pour
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, the following resources are available:
InfluxDB Cloud customers can contact InfluxData Support.