跨境独立站往往是「一个人扛运维」:站点挂了、结账页 500、广告花费突然翻倍,都需要马上知道。不必上完整 APM,一段健康检查脚本加 WPush,就能把关键信号推到微信(可叠加钉钉群)。
更偏服务器指标的磁盘/内存告警,可参考服务器告警方案。
准备
- 注册 WPush,拿到 API Key,绑定微信;
- 可选:按Webhook 渠道教程配置自定义 Webhook,便于接收第三方回调再转发;
- 机器上有
curl与 crontab。
站点存活检查
#!/usr/bin/env bash
set -u
# shellcheck source=/dev/null
source /etc/wpush.env # 内含 WPUSH_KEY,权限 600
SITE_URL="${SITE_URL:-https://www.example.com/}"
CHANNELS="wechat,dingtalk"
STATE=/var/tmp/wpush-site-down
notify() {
curl -sS -X POST 'https://api.wpush.cn/api/v1/send' \
--data-urlencode "apikey=${WPUSH_KEY}" \
--data-urlencode "title=$1" \
--data-urlencode "content=$2" \
--data-urlencode "channel=${CHANNELS}" >/dev/null
}
code=$(curl -sS -o /dev/null -w '%{http_code}' --max-time 15 "$SITE_URL" || echo 000)
if [ "$code" != "200" ] && [ "$code" != "301" ] && [ "$code" != "302" ]; then
if [ ! -f "$STATE" ]; then
notify "独立站宕机" "检测 **${SITE_URL}** 返回 ${code},请立即排查"
date +%s > "$STATE"
fi
else
if [ -f "$STATE" ]; then
notify "独立站恢复" "**${SITE_URL}** 已恢复正常(HTTP ${code})"
rm -f "$STATE"
fi
fi
结账错误与广告花费
结账失败可在应用侧直接推送:
curl -sS -X POST 'https://api.wpush.cn/api/v1/send' \
--data-urlencode "apikey=${WPUSH_KEY}" \
--data-urlencode "title=结账异常" \
--data-urlencode "content=checkout 接口 5xx 激增,订单可能丢失,请查支付网关与日志" \
--data-urlencode "channel=wechat,dingtalk"
广告花费可用定时脚本拉平台 API,超过日预算百分比时再调同一接口。多店铺可用 option 传实例码区分。
可选:Webhook 接收端
若广告平台、支付网关只支持「往你的 URL POST」,可自建一个小接收服务,校验后转发到 WPush。WPush 自身的 webhook 渠道是「WPush → 你的 URL」,方向相反,接入细节见Webhook 教程。完整参数以官方文档为准。
定时
echo '*/2 * * * * root /usr/local/bin/wpush-site-check.sh' > /etc/cron.d/wpush-site
成功时接口返回 JSON 且 code === 0。宕机有告警、恢复有提醒,跨境卖家也能睡个安稳觉。
常见问题
和专门的 Uptime 监控有什么区别?
轻量场景用 curl + crontab 足够。已有 Uptime Kuma 等工具时,把 Webhook 转发到 WPush 即可,不必重复造轮子。
结账错误怎么采集?
可在结账失败回调或应用日志里调 WPush;也可用站点 Webhook 接收端统一转发,参见 Webhook 教程。
广告花费告警数据从哪来?
从广告平台 API 拉昨日/近小时花费,与预算阈值比较后调用 WPush;示例只演示推送侧。
现在就把第一条消息推出去
注册 WPush,扫码绑定微信即可收到推送。一次 API 调用同时送达 10 个渠道,内置 MCP Server 与 Agent Skill。