Microsoft Teams 事件处理器
Microsoft Teams 是一种广泛使用的“数字工作空间”,方便团队成员之间的沟通。要配置 Kapacitor 以将警报发送到一个或多个 Microsoft Teams 频道,请执行以下操作
设置 Teams
- 登录 Teams,然后为一个 Teams 频道创建一个新的传入 Webhook。
- 在您的
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
- 要添加多个 Microsoft Teams 客户端,请重复步骤 1-2 以获取新的 Webhook,并在
kapacitor.conf
中添加另一个[teams]
部分。channelurl
充当每个配置的 Teams 客户端的唯一标识符。
配置
已启用
设置为 true
以启用 Microsoft Teams 事件处理器。
默认
如果存在多个 teams
配置,请将其中一个标识为默认配置。
channelurl
指定 Microsoft Team Webhook URL 以发送消息和警报。
global
设置为 true 以将所有警报发送到 Teams,而无需在 TICKscript 中显式指定 Microsoft Teams。\
state-changes-only
设置为 true 以仅发送状态更改的警报。仅当 global
为 true
时适用。
处理器文件选项
以下选项可以在 Microsoft Teams 事件处理器文件中设置,或者在使用 TICKscript 中的 .teams()
时设置。
名称 | 类型 | 描述 |
---|---|---|
team | string | 指定在存在多个配置时要使用的 Team 配置。 |
channel | string | 要将消息发布到的 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()
事件处理器发送消息“Hey, check your CPU”,当空闲 CPU 使用率降至 20% 以下时发送到 #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
主题,消息为“Hey, check your 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
此页是否对您有帮助?
感谢您的反馈!