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
此页面是否对您有帮助?
感谢您的反馈!