文档文档

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

enabled

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

routing-key

您的 PagerDuty 路由密钥

url

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

global

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

选项

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

名称类型描述
routing-keystring用于警报的 PagerDuty 路由密钥。
linkstrings放置在发送到 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% 以下时发送消息“嘿,检查你的 CPU”。

pagerduty2-cpu-alert.tick

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

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

以下设置向 cpu 主题发送警报,消息为“嘿,检查你的 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 Core 和 Enterprise

快速启动。更快扩展。

获取更新

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

有关更多信息,请查看