文档文档

PagerDuty v2 事件处理程序

PagerDuty 是一个事件管理平台,可帮助团队快速检测和修复基础设施问题。Kapacitor 可以配置为将警报消息发送到 PagerDuty。

此页面特定于 PagerDuty 的 v2 API。如果仍在使用其 v1 API,请查看 PagerDuty v1 事件处理程序 文档。

配置

PagerDuty v2 事件处理程序的配置以及默认选项值在您的 kapacitor.conf 中设置。以下是一个配置示例

[pagerduty2]
  enabled = true
  routing-key = ""
  url = "https://events.pagerduty.com/v2/enqueue"
  global = false

已启用

设置为 true 以启用 PagerDuty v2 事件处理程序。

路由密钥

您的 PagerDuty 路由密钥

URL

PagerDuty API v2 URL。 这应该不需要更改。

全局

如果 true,所有警报都将发送到 PagerDuty,而无需在 TICKscript 中显式指定 PagerDuty。

选项

以下 PagerDuty v2 事件处理程序选项可以在 处理程序文件 中设置,或者在使用 TICKscript 中的 .pagerDuty2() 时设置。

名称类型描述
路由密钥string用于警报的 PagerDuty 路由密钥。
链接strings放置在发送到 PagerDuty API 的正文的 links 字段中的自定义链接。

示例:处理程序文件

id: handler-id
topic: topic-name
kind: pagerduty2
options:
  routing-key: 'myroutingkey'
  links:
    - href: 'https://chronograf.example.com/sources/1/dashboards/2'
      text: 'Overview Dashboard'
    - href: 'https://chronograf.example.com/'

示例:TICKscript

|alert()
  // ...
  .pagerDuty2()
    .routingKey('myroutingkey')
    .link('https://chronograf.example.com/sources/1/dashboards/2', 'Overview Dashboard')
    .link('https://chronograf.example.com/')

PagerDuty 设置

要允许 Kapacitor 向 PagerDuty 发送警报,启用新的“通用 API”集成。使用生成的“集成密钥”作为 kapacitor.conf[pagerduty2] 部分下的 routing-key

使用 PagerDuty v2 事件处理程序

在您的 kapacitor.conf 中启用 PagerDuty v2 事件处理程序后,在您的 TICKscript 中使用 .pagerDuty2() 属性向 PagerDuty 发送警报,或定义一个订阅主题并将发布的警报发送到 PagerDuty 的 PagerDuty v2 处理程序。

以下示例使用在 kapacitor.conf 中定义的以下 PagerDuty v2 配置

kapacitor.conf 中的 PagerDuty v2 设置

[pagerduty2]
  enabled = true
  routing-key = "myroutingkey"
  url = "https://events.pagerduty.com/v2/enqueue"
  global = false

从 TICKscript 向 PagerDuty 发送警报

以下 TICKscript 使用 .pagerDuty2() 事件处理程序在空闲 CPU 使用率降至 10% 以下时发送消息“Hey, check your CPU”。

pagerduty2-cpu-alert.tick

stream
  |from()
    .measurement('cpu')
  |alert()
    .crit(lambda: "usage_idle" < 10)
    .message('Hey, check your CPU')
    .pagerDuty2()

从定义的处理程序向 PagerDuty 发送警报

以下设置向 cpu 主题发送警报,消息为“Hey, check your CPU”。添加了一个 PagerDuty v2 处理程序,该处理程序订阅 cpu 主题并将所有警报消息发布到 PagerDuty。

创建一个 TICKscript,将警报消息发布到主题。以下 TICKscript 在 CPU 空闲使用率降至 10% 以下(或 CPU 使用率高于 90%)时,向 cpu 主题发送警报消息。

cpu_alert.tick

stream
  |from()
    .measurement('cpu')
  |alert()
    .crit(lambda: "usage_idle" < 10)
    .message('Hey, check your CPU')
    .topic('cpu')

添加并启用 TICKscript

kapacitor define cpu_alert -tick cpu_alert.tick
kapacitor enable cpu_alert

创建一个处理程序文件,该文件订阅 cpu 主题并使用 PagerDuty v2 事件处理程序向 PagerDuty 发送警报。

pagerduty2_cpu_handler.yaml

topic: cpu
id: pagerduty2-cpu-alert
kind: pagerduty2
options:
  routing-key: 'myroutingkey'

添加处理程序

kapacitor define-topic-handler pagerduty2_cpu_handler.yaml

此页是否对您有帮助?

感谢您的反馈!


Flux 的未来

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

了解更多

InfluxDB 3 开源现已推出公开 Alpha 版

InfluxDB 3 开源现在可用于 alpha 测试,根据 MIT 或 Apache 2 许可获得许可。

我们正在发布两个产品作为 alpha 版的一部分。

InfluxDB 3 Core 是我们新的开源产品。它是一个用于时序和事件数据的近期数据引擎。InfluxDB 3 Enterprise 是一个商业版本,它基于 Core 的基础构建,增加了历史查询能力、读取副本、高可用性、可扩展性和细粒度安全性。

有关如何开始使用的更多信息,请查看