Uptime Kuma自定义Slack通知失败求助
排查Uptime Kuma Slack Webhook通知失败问题
一、基础配置校验
- 确认Slack Webhook URL有效性:用curl或Postman直接发送测试请求到目标URL,验证是否能正常收到消息。示例curl命令:
若收不到消息,说明URL有误、Webhook已过期或Slack频道存在权限限制。curl -X POST -H "Content-Type: application/json" -d '{"text":"测试消息"}' 你的Slack Webhook URL - 检查通知触发条件:进入「设置>通知」,找到对应Webhook配置项,确认已勾选
当服务上线时和当服务下线时的触发选项,避免因触发规则未开启导致不发通知。
二、自定义请求体问题排查
你的自定义请求体存在几个潜在问题:
- 静态日期值:
Date和UTC Time使用固定值,建议替换为Uptime Kuma内置变量,比如{{date}}(本地时间)或{{dateUtc}}(UTC时间),保证消息动态性的同时不影响格式合法性。 - 变量匹配验证:确认
{{status}}是当前Uptime Kuma版本支持的变量,部分版本状态变量为{{statusMessage}},需核对版本文档保证变量名正确。 - Slack Blocks格式校验:修正语法错误(如逗号遗漏、引号不匹配),调整后的标准请求体示例:
{ "blocks": [ { "type": "section", "text": { "type": "mrkdwn", "text": "*Project Name:* <PROJECT-NAME-HERE>\n*Date:* {{date}}\n*UTC Time:* {{dateUtc}}\n*Status:* {{status}}" } }, { "type": "divider" }, { "type": "context", "elements": [ { "type": "mrkdwn", "text": "This notification is dynamically generated. Ensure all data is correct." } ] } ] }
三、Uptime Kuma内部验证
- 测试通知功能:在通知配置页点击「测试」按钮,若测试消息也无法发送,重点排查Webhook URL和请求体格式;若测试成功但状态变化时无通知,检查监控项的通知关联设置(进入监控项编辑页,确认已勾选对应通知方式)。
- 查看系统日志:进入「日志」页面,筛选「通知」类型日志,查看是否存在发送失败的报错信息(如HTTP 400提示格式错误、HTTP 403提示权限不足)。
四、额外注意事项
- Content-Type设置:Uptime Kuma Webhook默认会设置
Content-Type: application/json,若手动修改过请求头,需确保该字段存在。 - 消息长度限制:Slack对单条消息的Blocks内容有长度限制,避免自定义内容过长导致发送失败。
内容的提问来源于stack exchange,提问作者Aaqib Shaikh
相关产品推荐
相关产品推荐

