zenoss.endpoint() 函数
zenoss.endpoint()
是用户贡献的函数,由包作者维护。
zenoss.endpoint()
使用来自输入行的数据向 Zenoss 发送事件。
用法
zenoss.endpoint
是一个工厂函数,输出另一个函数。输出函数需要 mapFn
参数。
mapFn
一个构建用于生成 POST 请求的对象的函数。需要 r
参数。
mapFn
接受表行 (r
) 并返回一个对象,该对象必须包含以下字段
- summary
- device
- component
- severity
- eventClass
- eventClassKey
- collector
- message
有关更多信息,请参阅 zenoss.event()
参数。
函数类型签名
(
url: string,
?action: A,
?apiKey: B,
?method: C,
?password: string,
?tid: D,
?type: E,
?username: string,
) => (
mapFn: (
r: F,
) => {
G with
summary: O,
severity: N,
message: M,
eventClassKey: L,
eventClass: K,
device: J,
component: I,
collector: H,
},
) => (<-tables: stream[F]) => stream[{F with _sent: string}] where B: Equatable
有关更多信息,请参阅函数类型签名。
参数
url
(Required必需) Zenoss 路由器端点 URL。
username
用于 HTTP BASIC 身份验证的 Zenoss 用户名。默认为 ""
(无身份验证)。
password
用于 HTTP BASIC 身份验证的 Zenoss 密码。默认为 ""
(无身份验证)。
apiKey
Zenoss 云 API 密钥。默认为 ""
(无 API 密钥)。
action
Zenoss 路由器名称。默认为 "EventsRouter"
。
method
EventsRouter 方法。默认为 "add_event"
。
type
事件类型。默认为 "rpc"
。
tid
临时请求事务 ID。默认为 1
。
示例
向 Zenoss 发送严重事件
import "contrib/bonitoo-io/zenoss"
import "influxdata/influxdb/secrets"
url = "https://tenant.zenoss.io:8080/zport/dmd/evconsole_router"
username = secrets.get(key: "ZENOSS_USERNAME")
password = secrets.get(key: "ZENOSS_PASSWORD")
endpoint = zenoss.endpoint(url: url, username: username, password: password)
crit_events =
from(bucket: "example-bucket")
|> range(start: -1m)
|> filter(fn: (r) => r._measurement == "statuses" and status == "crit")
crit_events
|> endpoint(
mapFn: (r) =>
({
summary: "Critical event for ${r.host}",
device: r.deviceID,
component: r.host,
severity: "Critical",
eventClass: "/App",
eventClassKey: "",
collector: "",
message: "${r.host} is in a critical state.",
}),
)()
此页内容对您有帮助吗?
感谢您的反馈!