文档文档

OpsGenie v2 事件处理程序

OpsGenie 是面向 DevOps 和 ITOps 团队的事件响应编排平台。Kapacitor 可以配置为向 OpsGenie 发送警报消息。

此页面专门针对 OpsGenie 的 v2 API。如果仍在使用 v1 API,请查看 OpsGenie v1 事件处理程序 文档。

配置

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

[opsgenie2]
  enabled = true
  api-key = "mysupersecretapikey"
  teams = ["team1", "team2"]
  recipients = ["recipient1", "recipient2"]
  url = "https://api.opsgenie.com/v2/alerts"
  recovery_action = "notes"
  details = false
  global = false

已启用

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

api-key

您的 OpsGenie API 密钥。

teams

默认 OpsGenie 团队。可以为每个警报覆盖。

recipients

默认 OpsGenie 接收者。可以为每个警报覆盖。

url

OpsGenie API URL。通常不需要更改。

recovery_action

恢复操作指定警报恢复时要执行的操作。有效值包括

  • notes - 向警报添加注释。
  • close - 关闭警报。
  • custom - 使用 .RecoveryAction() 方法在 TICK 脚本中指定 recovery_action

details

如果为 true,则警报详细信息字段将作为 OpsGenie 警报描述字段发送。如果为 false,则详细信息将编码为描述。

global

如果为 true,则所有警报都将发送到 OpsGenie,而无需在 TICKscript 中指定 opsgenie2。团队和接收者仍然可以被覆盖。

选项

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

名称类型描述
teams-list字符串列表团队列表。
recipients-list字符串列表接收者列表。

示例:处理程序文件

id: handler-id
topic: topic-name
kind: opsgenie2
options:
  teams-list:
    - 'team1'
    - 'team2'
  recipients-list:
    - 'recipient1'
    - 'recipient2'

示例:TICKscript

|alert()
  // ...
  .opsGenie2()
    .teams('team1', 'team2')
    .recipients('recipient1', 'recipient2')

OpsGenie 设置

要允许 Kapacitor 向 OpsGenie 发送警报,创建一个 OpsGeneie API 集成。在您的 kapacitor.conf[opsgenie2] 部分中使用生成的 API 密钥作为 api-key

使用 OpsGenie 事件处理程序

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

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

kapacitor.conf 中的 OpsGenie v2 设置

[opsgenie2]
  enabled = true
  api-key = "mysupersecretapikey"
  teams = ["engineering"]
  recipients = ["supervisor1", "supervisor2"]
  url = "https://api.opsgenie.com/v2/alerts"
  recovery_action = "close"
  global = false

从 TICKscript 向 OpsGenie 发送警报

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

opsgenie2-cpu-alert.tick

stream
  |from()
    .measurement('cpu')
  |alert()
    .crit(lambda: 'usage_idle' < 10)
    .message('Hey, check your CPU')
    .opsGenie2()
      .teams('engineering', 'support')
      .recoveryAction('notes')

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

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

创建一个 TICKscript,将警报消息发布到主题。以下 TICKscript 在任何时候空闲 CPU 使用率降至 10% 以下时,向 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 主题并使用 OpsGenie v2 事件处理程序向 OpsGenie 发送警报。

opsgenie2_cpu_handler.yaml

id: opsgenie-cpu-alert
topic: cpu
kind: opsgenie2
options:
  teams-list:
    - 'engineering'
    - 'support'

添加处理程序

kapacitor define-topic-handler opsgenie2_cpu_handler.yaml

此页面是否对您有帮助?

感谢您的反馈!


Flux 的未来

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

阅读更多

InfluxDB 3 开源版本现已发布公开 Alpha 版

InfluxDB 3 开源版本现已可用于 Alpha 测试,并根据 MIT 或 Apache 2 许可获得许可。

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

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

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