文档文档

pagerduty.endpoint() 函数

pagerduty.endpoint() 返回一个函数,该函数向 PagerDuty 发送包含输出数据的消息。

用法

pagerduty.endpoint() 是一个工厂函数,它输出另一个函数。输出函数需要 mapFn 参数。

mapFn

构建用于生成 POST 请求的记录的函数。需要 r 参数。

mapFn 接受表行 (r) 并返回一个记录,该记录必须包含以下属性

  • routingKey
  • client
  • client_url
  • class
  • eventAction
  • group
  • severity
  • source
  • component
  • summary
  • timestamp
  • customDetails
函数类型签名
(
    ?url: string,
) => (
    mapFn: (
        r: {A with _pagerdutyDedupKey: string},
    ) => {
        B with
        timestamp: K,
        summary: string,
        source: J,
        severity: I,
        routingKey: H,
        group: G,
        eventAction: F,
        clientURL: E,
        client: D,
        class: C,
    },
) => (<-tables: stream[A]) => stream[{A with _status: string, _sent: string, _pagerdutyDedupKey: string, _body: string}]

有关更多信息,请参阅 函数类型签名

参数

url

PagerDuty v2 Events API URL。

默认为 https://events.pagerduty.com/v2/enqueue

示例

将关键状态发送到 PagerDuty 端点

import "pagerduty"
import "influxdata/influxdb/secrets"

routingKey = secrets.get(key: "PAGERDUTY_ROUTING_KEY")
toPagerDuty = pagerduty.endpoint()

crit_statuses =
    from(bucket: "example-bucket")
        |> range(start: -1m)
        |> filter(fn: (r) => r._measurement == "statuses" and r.status == "crit")

crit_statuses
    |> toPagerDuty(
        mapFn: (r) =>
            ({r with
                routingKey: routingKey,
                client: r.client,
                clientURL: r.clientURL,
                class: r.class,
                eventAction: r.eventAction,
                group: r.group,
                severity: r.severity,
                source: r.source,
                component: r.component,
                summary: r.summary,
                timestamp: r._time,
                customDetails: {"ping time": r.ping, load: r.load},
            }),
    )()

此页是否对您有帮助?

感谢您的反馈!


Flux 的未来

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

阅读更多

现已全面上市

InfluxDB 3 Core 和 Enterprise

快速启动。更快扩展。

获取更新

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

有关更多信息,请查看