外观
3.1 可用性检测配置
约 548 字
监控告警
本页对应「三、操作步骤」的 3.1,完成可用性检测配置。返回上级:站点监控配置说明。
前置条件
- 站点已可通过公网访问,健康检查地址返回 200。
- 监控平台可新增检测项,并支持至少两个检测地域。
- 服务器上存在
/srv/axis/scripts目录,属主为 deploy。
操作步骤
- 先在本机确认健康检查的语义,避免把业务错误当成可用。
curl -sS -o /dev/null -w 'code=%{http_code} time_total=%{time_total}\n' https://example.com/healthz
curl -sS https://example.com/healthz | head -c 200- 在监控平台的可用性检测页面新增 HTTP 检测,参数如下:
- 地址:
https://example.com/healthz - 方法:GET,期望状态码 200
- 检测间隔 60 秒,超时 10 秒
- 检测地域:选择两个以上不同地域
增加证书到期检测,对 example.com 设置提前 30 天提醒,7 天内改为每日提醒。
在服务器侧补一个自检脚本,用于平台不可用时的交叉验证。
sudo install -d -m 755 -o deploy -g deploy /srv/axis/scripts
sudo install -m 755 -o deploy -g deploy /dev/null /srv/axis/scripts/uptime-check.sh脚本内容:
#!/usr/bin/env bash
set -euo pipefail
URL="https://example.com/healthz"
CODE=$(curl -sS -o /dev/null -w '%{http_code}' --max-time 10 "$URL" || echo 000)
if [ "$CODE" != "200" ]; then
echo "$(date -Is) FAIL code=$CODE url=$URL"
exit 1
fi
echo "$(date -Is) OK code=$CODE"- 手动执行并查看退出码。
/srv/axis/scripts/uptime-check.sh
echo "exit=$?"结果确认
- 平台检测项状态为正常,响应时间曲线有连续数据点。
- 本地脚本输出
OK code=200,退出码为 0。 - 证书检测显示剩余天数大于 30 天。
- 两个地域的检测结果一致,无单节点异常。
注意事项
- 检测间隔不要低于 60 秒,过密会触发源站限流并放大误报。
- 健康检查接口只返回依赖状态,不要暴露版本号、内网地址等敏感信息。
- 若站点启用 CDN,检测地址应命中回源路径,否则只能验证边缘节点。
- 自检脚本不要写入定时任务与平台重复检测,二者保留其一为主、一为参照即可。