Healthchecks + pushplus:定时任务没打卡就告警
效果:Cron / 备份任务超时或漏 ping 时,微信收到提醒。
前置条件
- 一个 pushplus token(官网扫码获取)
- Healthchecks.io 或自建 Healthchecks 项目权限
Healthchecks 默认 Webhook 的 JSON 不会自动变成 content。
配置步骤
方式一:Apprise(推荐)
项目 Integrations → Add Integration → Apprise,URL 填:
pushplus://你的token
保存后点测试。Healthchecks 给出的检查名和状态会作为标题/正文。详见 Apprise。
方式二:Webhook 固定文案或占位符
Integrations 里选 Webhook,URL 填:
https://www.pushplus.plus/send?token=你的token&title=任务没打卡&content=请打开Healthchecks查看
若你的版本支持在 URL 里替换 $NAME、$STATUS,可以写成:
https://www.pushplus.plus/send?token=你的token&title=Healthchecks&content=$NAME+$STATUS
占位符以 Healthchecks 文档为准。只有在对方发出请求前替换查询参数才有动态内容;对方 POST 的 JSON 本身不会被 pushplus 当正文。
能自定义请求体时,改为 POST https://www.pushplus.plus/send:
{
"token": "你的token",
"title": "Healthchecks 告警",
"content": "有检查未按时 ping,请打开 Healthchecks",
"template": "markdown"
}
完整参数见 消息接口文档。
验证
curl -X POST "https://www.pushplus.plus/send" \
-H "Content-Type: application/json" \
-d '{"token":"你的token","title":"Healthchecks 配置测试","content":"token 可用","template":"markdown"}'
返回 code 为 200 后,在集成页点 Test,或故意停掉一次 ping。
常见问题
Up / Down 都在推? 在集成里只勾失败或「还没恢复」类事件。
自建实例出网失败? 确认容器能访问 www.pushplus.plus。
收不到消息见 排查说明。