Documentation

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.",
            }),
    )()

此页内容对您有帮助吗?

感谢您的反馈!


Flux 的未来

Flux 即将进入维护模式。您可以继续像现在这样使用它,而无需对代码进行任何更改。

阅读更多

现已全面上市

InfluxDB 3 Core 和 Enterprise

快速启动。更快扩展。

获取更新

InfluxDB 3 Core 是一个开源、高速、近实时数据引擎,可实时收集和处理数据,并将其持久化到本地磁盘或对象存储。InfluxDB 3 Enterprise 以 Core 的基础为构建,增加了高可用性、读取副本、增强的安全性以及数据压缩功能,从而实现更快的查询和优化的存储。InfluxDB 3 Enterprise 的免费层可供非商业家庭或业余爱好者使用。

有关更多信息,请查看