文档文档

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

名称类型描述
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 使用率降至 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

此页是否对您有帮助?

感谢您的反馈!


Flux 的未来

Flux 即将进入维护模式。您可以继续像现在这样使用它,而无需更改任何代码。

阅读更多

InfluxDB 3 开源版本现已发布公开 Alpha 版

InfluxDB 3 开源版本现已可用于 alpha 测试,根据 MIT 或 Apache 2 许可获得许可。

我们正在发布两个产品作为 alpha 版本的一部分。

InfluxDB 3 Core 是我们新的开源产品。它是用于时间序列和事件数据的最新数据引擎。InfluxDB 3 Enterprise 是一个商业版本,它建立在 Core 的基础上,增加了历史查询功能、读取副本、高可用性、可扩展性和细粒度安全性。

有关如何开始使用的更多信息,请查看