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 = falseenabled
设置为 true 以启用 HipChat 事件处理程序。
url
HipChat API URL。将子域名替换为您的 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 事件处理程序后,在 TICKscripts 中使用 .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”,只要空闲 CPU 使用率低于 10%。它将消息发布到 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 主题,消息为“嘿,检查你的 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此页面是否有帮助?
感谢您的反馈!
支持和反馈
感谢您成为我们社区的一员!我们欢迎并鼓励您对 Kapacitor 和本文档提供反馈和错误报告。要获取支持,请使用以下资源: