servicenow.event() 函数
servicenow.event()
是由包作者维护的用户贡献函数。
servicenow.event()
向 ServiceNow 发送事件。
ServiceNow 事件 API 字段在 ServiceNow 创建事件文档中描述。
函数类型签名
(
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
有关更多信息,请参阅函数类型签名。
参数
url
(必需) ServiceNow Web 服务 URL。
username
(必需) 用于 HTTP BASIC 身份验证的 ServiceNow 用户名。
password
(必需) 用于 HTTP BASIC 身份验证的 ServiceNow 密码。
description
(必需) 事件描述。
severity
(必需) 事件的严重程度。
支持的值
critical
major
minor
warning
info
clear
source
源名称。默认为 "Flux"
。
node
与事件相关的节点名称或 IP 地址。默认为空字符串 (""
)。
metricType
与事件相关的指标类型 (例如, CPU
)。默认为空字符串 (""
)。
resource
与事件相关的资源 (例如, CPU-1
)。默认为空字符串 (""
)。
metricName
与事件相关的指标名称 (例如, usage_idle
)。默认为空字符串 (""
)。
messageKey
事件的唯一标识符 (例如, InfluxDB 警报 ID)。默认为空字符串 (""
)。如果为空字符串,ServiceNow 将生成一个值。
additionalInfo
要包含在事件中的其他信息。
示例
将最后报告的值和事件类型发送到 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},
)
此页面是否对您有帮助?
感谢您的反馈!