HipChat 事件处理器
HipChat 是 Atlassian 提供的用于群聊、视频聊天和屏幕共享的 Web 服务。Kapacitor 可以配置为向 HipChat 房间发送警报消息。
配置
HipChat 事件处理器的配置以及默认选项值在您的 kapacitor.conf
中设置。以下是一个配置示例
[hipchat]
enabled = true
url = "https://subdomain.hipchat.com/v2/room"
room = "xxxx"
token = "xxxx"
global = false
state-changes-only = false
enabled
设置为 true
以启用 HipChat 事件处理器。
url
HipChat API URL。将 subdomain 替换为您的 HipChat 子域名。
room
消息的默认房间。如果 TICKscript 未指定房间 ID,则此项用作默认房间 ID。访问 HipChat API 文档 以获取有关如何获取房间 ID 的信息。
token
默认身份验证令牌。如果 TICKscript 未指定 API 访问令牌,则此项用作默认令牌。访问 HipChat API 文档 以获取有关如何获取身份验证令牌的信息。
global
如果为 true
,则所有警报都将发送到 HipChat,而无需在 TICKscript 中显式指定 HipChat。
state-changes-only
如果为 true
,则仅当警报状态更改时,警报才会发送到 HipChat。这仅在 global
也设置为 true
时适用。
选项
以下 HipChat 事件处理器选项可以在 处理器文件 中设置,或者在使用 TICKscript 中的 .hipchat()
时设置。
名称 | 类型 | 描述 |
---|---|---|
room | string | 要在其中发布消息的 HipChat 房间。如果为空,则使用配置中的频道。 |
token | string | HipChat 身份验证令牌。如果为空,则使用配置中的令牌。 |
示例:处理器文件
topic: topic-name
id: handler-id
kind: hipchat
options:
room: 'alerts'
token: 'mysupersecretauthtoken'
示例:TICKscript
|alert()
// ...
.hipChat()
.room('alerts')
.token('mysupersecretauthtoken')
HipChat 设置
要求
要配置带有 HipChat 的 Kapacitor,需要以下内容
- HipChat 子域名
- HipChat 房间 ID
- 用于发送通知的 HipChat API 访问令牌
获取您的 HipChat API 访问令牌
- 登录到您的 HipChat 帐户仪表板。
- 在左侧菜单中选择“API 访问”。
- 在“创建新令牌”下,输入令牌的标签。该标签是任意的,仅用于帮助识别令牌。
- 在“创建新令牌”下,选择“发送通知”作为范围。
- 单击“创建”。
您的令牌将出现在“创建新令牌”部分上方的表格中
使用 HipChat 事件处理器
在您的 kapacitor.conf
中启用 HipChat 事件处理器后,在您的 TICKscript 中使用 .hipchat()
属性向 HipChat 发送警报,或者定义一个 HipChat 处理器,该处理器订阅某个主题并将发布的警报发送到 HipChat。
为避免在每个警报间隔都发布消息,请使用 AlertNode.StateChangesOnly,以便仅在警报状态更改时才将事件发送到 Alerta。
以下示例使用在 kapacitor.conf
中定义的以下 HipChat 配置
kapacitor.conf 中的 HipChat 设置
[hipchat]
enabled = true
url = "https://testtest.hipchat.com/v2/room"
room = "malerts"
token = "tokentokentokentokentoken"
global = false
state-changes-only = true
从 TICKscript 向 HipChat 房间发送警报
以下 TICKscript 使用 .hipchat()
事件处理器在空闲 CPU 使用率降至 10% 以下时发送消息“Hey, check your CPU”。它将消息发布到与 kapacitor.conf
中定义的 HipChat 子域名关联的 alerts
房间。
hipchat-cpu-alert.tick
stream
|from()
.measurement('cpu')
|alert()
.crit(lambda: "usage_idle" < 10)
.stateChangesOnly()
.message('Hey, check your CPU')
.hipchat()
.room('alerts')
从定义的处理器向 HipChat 房间发送警报
以下设置向 cpu
主题发送警报,消息为“Hey, check your CPU”。添加了一个 HipChat 处理器,该处理器订阅 cpu
主题并将所有警报消息发布到与 kapacitor.conf
中定义的 testest
HipChat 子域名关联的 alerts
房间。
创建一个 TICKscript,将警报消息发布到主题。以下 TICKscript 在 CPU 空闲使用率降至 10% 以下(或 CPU 使用率高于 90%)时,向 cpu
主题发送警报消息。
cpu_alert.tick
stream
|from()
.measurement('cpu')
|alert()
.crit(lambda: "usage_idle" < 10)
.stateChangesOnly()
.message('Hey, check your CPU')
.topic('cpu')
添加并启用 TICKscript
kapacitor define cpu_alert -tick cpu_alert.tick
kapacitor enable cpu_alert
创建一个处理器文件,该文件订阅 cpu
主题,并使用 HipChat 事件处理器向 HipChat 中的 alerts
频道发送警报。
hipchat_cpu_handler.yaml
id: hipchat-cpu-alert
topic: cpu
kind: hipchat
options:
room: 'alerts'
添加处理器
kapacitor define-topic-handler hipchat_cpu_handler.yaml
此页是否对您有帮助?
感谢您的反馈!