DSM 7.2 如何配置Microsoft Teams Webhook?接收系统通知完整指南


DSM 7.2 配置Microsoft Teams Webhook全流程:实时接收系统通知(2024年Workflows适配版)


在企业IT管理中,很多Synology NAS管理员希望将DSM系统通知(如硬盘警告、存储池故障、备份失败)实时同步到Microsoft Teams,方便团队快速响应问题。但随着2024年8月15日Microsoft停用旧版Office 365连接器,所有新Webhook必须通过Teams的Workflows应用创建,且DSM仅7.2及以上版本支持该功能。本文基于Synology官方技术文档(https://kb.synology.cn/zh-cn/DSM/tutorial/configure_MSTeams_webhooks_for_DSM_notifications),从“配置前准备→DSM端初始设置→Teams端Workflows搭建→测试与故障排除”四个维度,拆解适配新规的Webhook配置全流程,帮你实现DSM通知到Teams的无缝同步。



一、配置前必看:3大核心前提+2个关键时间节点

在启动配置前,需先确认环境满足要求,同时明确Microsoft的功能迭代时间线,避免使用已淘汰的旧方法,导致配置失败。


1.1 3大核心前提(缺一不可)

Webhook配置对DSM版本、Teams权限、网络环境有明确要求,需逐一验证:


| 前提类别 | 具体要求 | 验证方法 |

|----------|----------|----------|

| DSM版本 | 必须为DSM 7.2及以上版本(低版本无Webhooks功能入口) | 登录DSM→控制面板→系统→系统信息→查看“DSM版本”,若低于7.2,需通过“更新和还原”升级 |

| Teams权限 | 登录Teams的账户需具备“创建Workflow”权限(通常为团队管理员或所有者,普通成员无此权限) | 打开Teams→进入目标团队→点击右上角“…”→若能看到“管理团队”“添加应用”,说明权限足够 |

| 网络连通性 | NAS需能访问Microsoft Azure服务(Workflows依赖Azure逻辑应用),且无防火墙拦截443端口 | 在DSM中打开“控制面板→网络→网络界面”→点击“测试连接”,输入“https://prod2-24.southeastasia.logic.azure.com”(Azure逻辑应用域名示例),能连通则网络正常 |


1.2 2个关键时间节点(避免踩坑)

Microsoft对Teams Webhook功能迭代有明确时间限制,需按新规操作:

- 2024年8月15日起:所有新Webhook必须通过Teams的Workflows应用创建,旧版Office 365连接器不再支持新创建(仅存量连接器可使用至2024年12月31日);

- 2024年12月31日后:旧版连接器需额外操作才能继续使用,建议直接按本文方法搭建新Webhook,避免后续升级麻烦。



二、步骤1:DSM端初始配置(开启Webhooks并选择Provider)

首先在DSM中开启Webhooks功能,选择Microsoft Teams作为通知 Provider,为后续对接Teams流程做准备,步骤如下:


1. 进入DSM通知设置: 

登录DSM系统,在桌面找到“控制面板”图标(灰色齿轮样式),点击进入;在左侧导航栏中找到“通知”选项(位于“Regional Options”与“Hardware & Power”之间),点击进入;

2. 进入Webhooks配置页: 

在“通知”界面顶部切换到“Webhooks”标签页,此时会显示“无已设置的Webhook”(首次配置),点击右侧“Add”按钮(蓝色加号,位于“Reset”左侧);

3. 选择Provider与通知规则: 

- 在弹出的“Add Webhook”窗口中,点击“Provider”下拉框,选择“Microsoft Teams”(若未找到该选项,需确认DSM版本是否为7.2及以上); 

- 点击“Rule”下拉框,选择通知规则(即哪些系统事件会触发通知): 

- 推荐选择“Critical”(仅发送严重事件,如硬盘失败、存储池损毁),避免过多冗余通知; 

- 若需自定义规则,点击“Create”可新建(如仅接收备份相关通知),配置完成后点击“Next”;

4. 设置Provider名称与通知主题: 

- 在“Provider name”字段中输入标识名称(如“DSM_Notifications_Teams”),便于区分多个Webhook(若后续配置其他通知渠道); 

- 在“Subject”字段中修改通知主题前缀,默认内容为“A new system event occurred on your %HOSTNAME% on %DATE% at %TIME%.”,其中`%HOSTNAME%`会自动替换为NAS主机名,`%DATE%`/`%TIME%`为事件发生时间,无需手动修改,保持默认即可; 

- 此时“Webhook URL”字段为空,需先保留窗口,切换到Microsoft Teams端获取URL,再返回填写。



三、步骤2:Microsoft Teams端搭建Workflows(获取Webhook URL)

这是核心步骤,需通过Teams的Workflows应用创建“接收Webhook请求并发送到频道”的流程,最终获取DSM所需的Webhook URL,操作需严格按顺序执行:


3.1 安装Workflows应用

1. 打开Teams应用: 

登录Microsoft Teams(电脑端或网页端均可,推荐电脑端操作),在左侧导航栏找到“Apps”图标(类似购物袋样式,位于“Files”下方),点击进入;

2. 搜索并添加Workflows: 

在“Apps”页面顶部搜索栏输入“Workflows”,在搜索结果中找到由“Microsoft Corporation”开发的“Workflows”应用(图标为蓝色流程箭头,评分3.7+); 

点击应用卡片,在弹出窗口中点击“Add”→再次点击“Add”(确认添加到Teams),等待10秒左右,应用会自动安装完成。


3.2 创建“Webhook请求转频道消息”流程

1. 启动流程创建: 

安装完成后,自动进入Workflows首页,点击右上角“Create”按钮(蓝色圆形,带“+”号);在弹出的菜单中选择“Post to a channel when a webhook request is received”(官方模板,位于“Instant”分类下);

2. 配置流程基本信息: 

- 在“Create a flow”窗口中,“Flow name”字段输入流程名称(如“DSM_Webhook_to_Teams”,便于后续管理); 

- 点击“Sign in”按钮,登录用于授权的Microsoft账户(需与Teams登录账户一致,且具备团队权限),登录成功后“Sign in”会变为绿色对勾; 

- 点击“Next”进入下一步;

3. 选择目标团队与频道: 

- 在“Set up your flow”界面中,点击“Microsoft Teams Team”下拉框,选择要接收DSM通知的Teams团队(如“IT_Admin_Team”); 

- 点击“Microsoft Teams Channel”下拉框,选择团队中的具体频道(如“NAS_Alerts”,建议单独创建专用频道,避免通知混杂); 

- 点击“Create flow”,等待流程创建完成(约5秒,提示“Workflow added successfully!”即成功)。


3.3 编辑流程:添加JSON解析与消息发送步骤

默认流程需修改才能正确接收DSM通知,需删除多余步骤、添加JSON解析,确保通知内容正常显示:


1. 进入流程编辑页: 

流程创建成功后,点击窗口中的“Manage your workflow”(蓝色文字,位于“Want to make changes?”下方);在流程管理页中,点击右上角“Edit”按钮(铅笔图标,位于“Share”左侧),进入编辑界面;

2. 删除默认的“Send each adaptive card”步骤: 

- 在编辑界面中,找到“Send each adaptive card”模块(位于“When a Teams webhook request is received”下方,带卡片图标); 

- 点击该模块右上角的“…”(更多选项),在下拉菜单中选择“Delete”;在弹出的确认对话框中点击“OK”,删除该冗余步骤(DSM通知无需自适应卡片,需改为文本消息);

3. 添加“Parse JSON”步骤(解析DSM通知内容): 

- 点击“+ New step”按钮(位于已删除步骤的位置,带“+”号);在弹出的“Choose an operation”搜索栏中输入“Parse JSON”,在结果中选择“Parse JSON”(属于“Data Operation”分类,蓝色图标); 

- 点击“Content”字段右侧的“Add dynamic content”(蓝色文字,带“+”号),在弹出的动态内容面板中找到“Body”(来自“当收到Teams Webhook请求时”模块),点击选择; 

- 在“Schema”字段中粘贴以下JSON代码(用于定义DSM通知的内容格式,不可修改): 

```json

{ "type": "object", "properties": { "text": { "type": "string" } } }

``` 

- 粘贴完成后点击“+ New step”,进入下一步;

4. 添加“Post message in a chat or channel”步骤(发送通知到频道): 

- 在新步骤的搜索栏中输入“post message in a chat or channel”,选择同名操作(属于“Microsoft Teams”分类,绿色图标); 

- 配置消息发送参数: 

- “Post as”:选择“Flow bot”(以机器人身份发送,避免显示个人账户); 

- “Post in”:选择“Channel”(发送到团队频道,而非个人聊天); 

- “Team”:再次选择目标团队(需与步骤3.2中一致,如“IT_Admin_Team”); 

- “Channel”:再次选择目标频道(如“NAS_Alerts”); 

- “Message”:点击“Add dynamic content”,选择“text”(来自“Parse JSON”模块,即DSM通知的具体内容); 

- 配置完成后,点击界面右上角“Save”按钮(蓝色磁盘图标),保存流程修改。


3.4 复制Webhook的HTTP POST URL

1. 在流程编辑界面中,找到最顶部的“When a Teams webhook request is received”模块(带“HTTP POST URL”字样); 

2. 点击该模块右下角的“剪贴板图标”(位于URL右侧,灰色,悬停显示“Copy to clipboard”),URL会自动复制到剪贴板(格式类似“https://prod2-24.southeastasia.logic.azure.com:443/workflows/xxx”); 

3. 保持Teams页面不关闭,切换回DSM的“Add Webhook”窗口,准备粘贴URL。



四、步骤3:完成DSM配置与测试(验证通知是否生效)

将Teams流程的URL粘贴到DSM中,完成Webhook配置,并发送测试消息验证是否正常工作:


1. 粘贴Webhook URL并应用: 

在DSM的“Add Webhook”窗口中,点击“Webhook URL”字段,按`Ctrl+V`(Windows)或`Command+V`(macOS)粘贴复制的URL;确认URL无多余空格后,点击窗口右下角“Apply”按钮(蓝色,位于“Back”右侧),此时DSM会提示“Webhook已添加成功”;

2. 发送测试消息验证: 

- 返回“Webhooks”标签页,此时会显示刚创建的Webhook(Provider Name为“DSM_Notifications_Teams”,Provider为“Microsoft Teams”); 

- 选中该Webhook,点击右侧“Send Test Message”按钮(位于“Delete”左侧,灰色文字); 

- 切换到Microsoft Teams的目标频道(如“NAS_Alerts”),若在1分钟内收到标题为“A new system event occurred on your [NAS主机名] on [当前日期] at [当前时间].”的测试消息,说明配置成功;

3. 后续管理: 

- 若需修改Webhook(如更换Teams频道),选中Webhook点击“Edit”即可重新配置; 

- 若需删除,点击“Delete”(需谨慎,删除后通知会中断)。



五、常见问题解答(FAQ):解决配置中的高频难题

Q1:在Teams中找不到“Post to a channel when a webhook request is received”模板,怎么办?

A1:核心原因是Workflows应用版本过低或模板未加载,解决方法: 

1. 进入Teams“Apps”→找到“Workflows”→点击“About”→确认版本是否为2.0及以上,若低于此版本,点击“Update”升级; 

2. 若升级后仍无模板,在Workflows首页搜索框输入模板名称(完整名称),手动查找; 

3. 若仍找不到,选择“Create from blank”(空白流程),手动添加“当收到Webhook请求时”→“Parse JSON”→“发送频道消息”三个步骤,逻辑与模板一致。


Q2:DSM发送测试消息后,Teams频道未收到,如何排查?

A2:按以下顺序排查,90%的问题可解决: 

1. 检查Webhook URL是否正确:在DSM中编辑Webhook,对比URL与Teams流程中的“HTTP POST URL”,确保无字符缺失(尤其是末尾的“workflows/xxx”部分); 

2. 检查Teams流程状态:进入Workflows→找到目标流程→确认“Status”为“On”(若为“Off”,点击“Turn on”); 

3. 检查网络连通性:在DSM中ping Teams流程URL的域名(如“prod2-24.southeastasia.logic.azure.com”),若无法ping通,需在NAS防火墙中允许443端口出站(进入DSM“控制面板→安全→防火墙”,添加规则允许“HTTPS(443)”出站)。


Q3:收到的通知内容显示“[object Object]”,而非具体事件信息,怎么处理?

A3:这是“Parse JSON”步骤配置错误,需重新检查: 

1. 进入Teams流程编辑页,删除原“Parse JSON”步骤; 

2. 重新添加“Parse JSON”,确保“Content”选择“Body”(来自Webhook模块),“Schema”字段粘贴官方指定代码(本文步骤3.3中的JSON代码),不可修改字符; 

3. 重新保存流程,DSM发送测试消息,此时内容会正常显示。



总结

DSM 7.2配置Microsoft Teams Webhook的核心是“DSM端开启Webhooks+Teams端用Workflows搭建流程”,关键在于适配2024年Microsoft的新规——放弃旧连接器,改用Workflows创建。整个过程需注意三个细节:DSM版本必须为7.2及以上、Teams账户需有Workflow创建权限、JSON Schema代码需准确无误。


通过本文步骤,可实现DSM严重系统事件实时同步到Teams频道,帮助IT团队快速响应故障(如硬盘预警、存储池问题),避免因错过通知导致业务中断。


要不要我帮你整理一份DSM 7.2 Microsoft Teams Webhook配置步骤清单?清单会包含“前提验证项”“DSM端操作要点”“Teams流程搭建截图指引”“测试失败排查步骤”,你可直接打印对照操作,避免遗漏关键环节。

推荐产品 / Product
点击查看更多
留言表单
姓名为必选
电话为必选
公司为必选
地址为必选
邮箱为必选
留言为必选

感谢您的提交

确 定

表单提交失败

确 定

Copyright © 2011-2020 北京群晖时代科技有限公司 版权所有 京ICP备2020037175号-2

  • TOP