GCP Monitoring告警通知通道(Web Hook)对接MS Teams无响应问题咨询
GCP Monitoring对接MS Teams Webhook问题解答
GCP Monitoring原生不支持直接填写MS Teams的Webhook作为通知通道,你测试时无响应的核心原因是两者的Webhook消息Payload格式不兼容,MS Teams收到不符合要求的请求会直接丢弃,不会返回错误提示。
可通过增加中间格式转换层的方式实现对接,最常用的方案是使用GCP Cloud Function作为中转,操作步骤如下:
- 首先正常创建Teams的传入Webhook,复制生成的Webhook URL留存
- 在GCP控制台创建Cloud Function,触发器类型选择HTTP触发,按需配置调用权限(可开放未经验证调用,也可单独为GCP Monitoring服务账号配置调用权限),复制该函数的触发URL留存
- 编写Cloud Function的业务代码:先接收GCP Monitoring推送的告警Payload,提取告警名称、严重性、受影响资源、告警详情等核心字段,再按照Teams要求的消息结构组装新的Payload,最后将组装好的请求转发到你之前留存的Teams Webhook地址
- 回到GCP Monitoring的通知渠道配置页,将刚才复制的Cloud Function触发URL填为Webhook地址,保存后即可测试告警推送
常见排查注意事项:
- 格式转换逻辑编写完成后,可以先手动构造GCP告警Payload测试函数逻辑,确认Teams能正常收到消息再配置到正式通知渠道
- 若出现推送失败,可以在Cloud Function的日志中查看请求参数、返回值等信息定位问题
- 不要直接将Teams生成的Webhook地址填入GCP Monitoring的Webhook配置,该操作无法正常触发消息推送
内容的提问来源于stack exchange,提问作者GyeongSik Jang
相关产品推荐
相关产品推荐

