文档文档

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

已启用

设置为 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() 时设置。

名称类型描述
roomstring要在其中发布消息的 HipChat 聊天室。如果为空,则使用配置中的频道。
tokenstringHipChat 身份验证令牌。如果为空,则使用配置中的令牌。

示例:处理程序文件

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 访问令牌

  1. 登录到您的 HipChat 帐户仪表板。
  2. 在左侧菜单中选择“API 访问”。
  3. 在“创建新令牌”下,输入令牌的标签。该标签是任意的,仅用于帮助识别令牌。
  4. 在“创建新令牌”下,选择“发送通知”作为范围。
  5. 单击“创建”。

您的令牌将出现在“创建新令牌”部分正上方的表格中

HipChat token

使用 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”,每当空闲 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

此页面是否对您有帮助?

感谢您的反馈!


Flux 的未来

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

阅读更多

现已全面上市

InfluxDB 3 Core 和 Enterprise

快速启动。更快扩展。

获取更新

InfluxDB 3 Core 是一款开源、高速、最新的数据引擎,可实时收集和处理数据,并将其持久化到本地磁盘或对象存储。InfluxDB 3 Enterprise 以 Core 的基础为构建,增加了高可用性、只读副本、增强的安全性以及数据压缩,从而实现更快的查询和优化的存储。InfluxDB 3 Enterprise 的免费层级可供非商业家庭或业余爱好者使用。

有关更多信息,请查看