Microsoft Teams 事件处理器
Microsoft Teams 是一个广泛使用的“数字工作空间”,可以促进团队成员之间的沟通。要配置 Kapacitor 向一个或多个 Microsoft Teams 频道发送警报,请执行以下操作:
设置 Teams
- 登录 Teams,然后 创建一个新的传入 Webhook 以用于 Teams 频道。
- 在您的
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 客户端的唯一标识符。
配置
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() 时设置。
| 名称 | 类型 | 描述 |
|---|---|---|
| team | string | 指定当存在多个配置时要使用的 Teams 配置。 |
| 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() 事件处理器,当空闲 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此页面是否有帮助?
感谢您的反馈!
支持和反馈
感谢您成为我们社区的一员!我们欢迎并鼓励您对 Kapacitor 和本文档提供反馈和错误报告。要获取支持,请使用以下资源: