文档文档

Microsoft Teams 事件处理器

Microsoft Teams 是一个广泛使用的“数字工作空间”,可以促进团队成员之间的沟通。要配置 Kapacitor 向一个或多个 Microsoft Teams 频道发送警报,请执行以下操作:

设置 Teams

  1. 登录 Teams,然后 创建一个新的传入 Webhook 以用于 Teams 频道。
  2. 在您的 kapacitor.conf 文件中,添加一个 [teams] 部分,其中包含 Microsoft Teams 事件处理器的 配置选项,包括将传入 Webhook URL 指定为 channelurl。例如:
[teams]
  enabled = true
  default = true
  channel-url =  "https://outlook.office.com/webhook/..."
  global = true
  state-changes-only = true
  1. 要添加多个 Microsoft Teams 客户端,请重复步骤 1-2 以获取新的 Webhook,并在 kapacitor.conf 中添加另一个 [teams] 部分。channelurl 作为每个已配置 Teams 客户端的唯一标识符。

配置

enabled

设置为 true 以启用 Microsoft Teams 事件处理器。

default

如果存在多个 teams 配置,请将其中一个指定为默认配置。

channelurl

指定用于发送消息和警报的 Microsoft Team Webhook URL。

global

设置为 true 以将所有警报发送到 Teams,而无需在 TICKscript 中显式指定 Microsoft Teams。

state-changes-only

设置为 true 以仅发送状态更改的警报。仅在 global 设置为 true 时适用。

处理器文件选项

以下选项可以在 Microsoft Teams 事件 处理器文件中设置,或者在使用 TICKscript 中的 .teams() 时设置。

名称类型描述
teamstring指定当存在多个配置时要使用的 Teams 配置。
channelstring用于发布消息的 Teams 频道。如果为空,则使用配置中的频道。

示例处理器文件

id: handler-id
topic: topic-name
kind: teams
options:
  team: 'teams.microsoft.com/team/'
  channel: '#alerts'

有关使用处理器文件的信息,请参阅 添加和使用事件处理器

示例警报

将警报发送到配置文件中的 Teams 频道

  stream
    |alert()
       .teams()

将警报发送到带有 Webhook 的 Teams 频道(覆盖配置文件)

  stream
    |alert()
       .teams()
       .channelURL('https://outlook.office.com/webhook/...')

从 TICKscript 发送警报到 Teams

在您的 TICKscript 中使用 .teams() 属性来

  • 发送警报到 Teams
  • 定义一个订阅主题并向 Teams 发送已发布警报的 Teams 处理器。

为避免在每个警报间隔发送一条消息,请使用 AlertNode.StateChangesOnly,这样只有在警报状态发生变化的事件才会发送到 Teams。

以下 TICKscript 使用 .teams() 事件处理器,当空闲 CPU 使用率下降到 20% 以下时,将消息“嘿,检查你的 CPU”发送到 #alerts Teams 频道。

teams-cpu-alert.tick

stream
  |from()
    .measurement('cpu')
  |alert()
    .warn(lambda: "usage_idle" < 20)
    .stateChangesOnly()
    .message('Hey, check your CPU')
    .teams()

从定义的处理器发送警报到 Teams

以下示例将警报“嘿,检查你的 CPU”发送到 cpu 主题。添加了一个 Teams 处理器,该处理器订阅 cpu 主题并向 Teams 发布所有警报消息。

创建发布警报消息到主题的 TICKscript。下面的 TICKscript 在空闲 CPU 使用率下降到 5% 以下时,将一条严重警报消息发送到 cpu 主题。

cpu_alert.tick

stream
  |from()
    .measurement('cpu')
  |alert()
    .crit(lambda: "usage_idle" < 5)
    .stateChangesOnly()
    .message('Hey, check your CPU')
    .topic('cpu')

添加并启用 TICKscript

kapacitor define cpu_alert -tick cpu_alert.tick
kapacitor enable cpu_alert

创建一个订阅 cpu 主题的处理器文件,并使用 Teams 事件处理器将警报发送到 Teams。此处理器使用非默认 Teams 处理器“critical-alerts”,它将消息发送到 Teams 中的 #critical-alerts 频道。

teams_cpu_handler.yaml

id: teams-cpu-alert
topic: cpu
kind: teams
channelurl: 'alerts'

添加处理器

kapacitor define-topic-handler teams_cpu_handler.yaml

此页面是否有帮助?

感谢您的反馈!


InfluxDB 3.8 新特性

InfluxDB 3.8 和 InfluxDB 3 Explorer 1.6 的主要增强功能。

查看博客文章

InfluxDB 3.8 现已适用于 Core 和 Enterprise 版本,同时发布了 InfluxDB 3 Explorer UI 的 1.6 版本。本次发布着重于操作成熟度,以及如何更轻松地部署、管理和可靠地运行 InfluxDB。

更多信息,请查看

InfluxDB Docker 的 latest 标签将指向 InfluxDB 3 Core

在 **2026 年 2 月 3 日**,InfluxDB Docker 镜像的 latest 标签将指向 InfluxDB 3 Core。为避免意外升级,请在您的 Docker 部署中使用特定的版本标签。

如果使用 Docker 来安装和运行 InfluxDB,latest 标签将指向 InfluxDB 3 Core。为避免意外升级,请在您的 Docker 部署中使用特定的版本标签。例如,如果使用 Docker 运行 InfluxDB v2,请将 latest 版本标签替换为 Docker pull 命令中的特定版本标签 — 例如

docker pull influxdb:2