OpsGenie v1 事件处理器
OpsGenie 是一个面向 DevOps 和 ITOps 团队的事件响应编排平台。Kapacitor 可以配置为向 OpsGenie 发送告警消息。
此页面特定于 OpsGenie 已弃用的 v1 API。OpsGenie 建议迁移到其 v2 API。有关升级的更多信息,请参阅 OpsGenie API 迁移指南。如果使用 v2 API,请参阅 OpsGenie v2 事件处理器 文档。
配置
OpsGenie v1 事件处理器的配置以及默认 选项 值在您的 kapacitor.conf 中设置。下面是一个配置示例
[opsgenie]
enabled = true
api-key = "mysupersecretapikey"
teams = ["team1", "team2"]
recipients = ["recipient1", "recipient2"]
url = "https://api.opsgenie.com/v1/json/alert"
recovery_url = "https://api.opsgenie.com/v1/json/alert/note"
global = falseenabled
设置为 true 以启用 OpsGenie v1 事件处理器。
api-key
您的 OpsGenie API 密钥。
teams
默认 OpsGenie 团队。可以按告警覆盖。
recipients
默认 OpsGenie 收件人。可以按告警覆盖。
url
OpsGenie API URL。通常不需要更改。
recovery_url
OpsGenie 恢复 URL。根据您希望恢复触发的行为(添加备注、关闭告警等)来更改此项。
global
如果设置为 true,所有告警都将发送到 OpsGenie,而无需在 TICKscript 中指定 opsgenie。团队和收件人仍然可以被覆盖。
选项
以下 OpsGenie v1 事件处理器选项可以在 处理程序文件 中设置,或在使用 TICKscript 中的 .opsGenie() 时设置。
| 名称 | 类型 | 描述 |
|---|---|---|
| teams-list | list of strings | 团队列表。 |
| recipients-list | list of strings | 收件人列表。 |
示例:处理程序文件
id: handler-id
topic: topic-name
kind: opsgenie
options:
teams-list:
- 'team1'
- 'team2'
recipients-list:
- 'recipient1'
- 'recipient2'示例:TICKscript
|alert()
// ...
.opsGenie()
.teams('team1', 'team2')
.recipients('recipient1', 'recipient2')OpsGenie 设置
要允许 Kapacitor 将告警发送到 OpsGenie,请创建一个 OpsGenie API 集成。将生成的 API 密钥用作 kapacitor.conf [opsgenie] 部分中的 api-key。
使用 OpsGenie 事件处理器
在您的 kapacitor.conf 中启用并配置了 OpsGenie v1 事件处理器后,在您的 TICKscript 中使用 .opsGenie() 属性将告警发送到 OpsGenie,或者定义一个订阅了主题并向 OpsGenie 发送已发布告警的 OpsGenie v1 处理程序。
以下示例使用了 kapacitor.conf 中定义的以下 OpsGenie 配置
kapacitor.conf 中的 OpsGenie v1 设置
[opsgenie]
enabled = true
api-key = "mysupersecretapikey"
teams = ["engineering"]
recipients = ["supervisor1", "supervisor2"]
url = "https://api.opsgenie.com/v1/json/alert"
recovery_url = "https://api.opsgenie.com/v1/json/alert/note"
global = false从 TICKscript 发送告警到 OpsGenie
以下 TICKscript 使用 .opsGenie() 事件处理器,在空闲 CPU 使用率降至 10% 以下时,将消息“Hey, check your CPU”发送到 OpsGenie。
opsgenie-cpu-alert.tick
stream
|from()
.measurement('cpu')
|alert()
.crit(lambda: 'usage_idle' < 10)
.message('Hey, check your CPU')
.opsGenie()
.teams('engineering', 'support')从已定义的处理程序发送告警到 OpsGenie
以下设置将告警“Hey, check your CPU”发送到 cpu 主题。添加了一个订阅了 cpu 主题的 OpsGenie v1 处理程序,该处理程序将所有告警消息发布到 OpsGenie。
创建将警报消息发布到主题的 TICKscript。当空闲 CPU 使用率低于 10% 时,下面的 TICKscript 将警报消息发送到 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 v1 事件处理器将告警发送到 OpsGenie 的处理程序文件。
opsgenie_cpu_handler.yaml
id: opsgenie-cpu-alert
topic: cpu
kind: opsgenie
options:
teams-list:
- 'engineering'
- 'support'添加处理器
kapacitor define-topic-handler opsgenie_cpu_handler.yaml此页面是否有帮助?
感谢您的反馈!
支持和反馈
感谢您成为我们社区的一员!我们欢迎并鼓励您对 Kapacitor 和本文档提供反馈和错误报告。要获取支持,请使用以下资源: