返回

Healthchecks VPS 主机,预装

Healthchecks VPS 让您在自己的服务器上监控备份和 cron 任务。每个检查都有一个 ping 地址:任务完成时调用它,如果调用没有按时到达,您就会收到告警。下单后,Healthchecks 会自行安装,网站地址、邮箱和密码显示在您的面板中。

会有多少人使用?

合计$2.58/月

价格含增值税。

RAM 和 CPU 可随时升级或降配。磁盘只能增大,建议从小配置开始。

您的 Healthchecks 服务器上安装什么?

  • Healthchecks 5.0,来自官方镜像
  • SQLite 数据库,所以不需要单独的数据库服务器
  • 告警和报告进程(sendalerts、sendreports)在容器内运行
  • 一个管理员账户,登录邮箱和密码在您的面板中
  • 注册已关闭,别人无法注册
  • 通过 Caddy 提供 HTTPS,使用基于您 IP 的 sslip.io 地址
  • 防火墙只开放 22、80 和 443 端口

Healthchecks 需要多大的配置?

Healthchecks 文档没有给出 RAM 数值。经验上,1 GB 是不错的起点,因为应用主要是响应 ping 请求并在后台发送告警。如果需要节省内存,文档指向 GUNICORN_WORKERS 设置。随着检查数量和 ping 历史增加,可以考虑 2 GB。默认情况下,每个检查保留最近 100 次 ping,一个账户最多可以有 10,000 个检查。

用途配置价格选择
几个人 1 GB RAM · 1 vCore · 25 GB NVMe $2.58/月
小团队 2 GB RAM · 1 vCore · 40 GB NVMe $4.01/月
公司 4 GB RAM · 2 vCore · 60 GB NVMe $6.89/月

适合谁?

  • 想确认昨晚的备份确实运行过的管理员
  • 有 cron 任务和计划任务需要盯着的开发者
  • 监控多个项目中任务的代理机构
  • 不想把任务监控数据放在外部服务上的人

下单之后会发生什么?

  1. 设定配置并完成付款。
  2. 服务器启动后,Healthchecks 会自行安装。当面板中的“应用”一行显示 Healthchecks 已就绪时,就完成了。
  3. 在“概览”标签页点击“打开应用”,用“邮箱”和“密码”两行中的信息登录。
  4. 若要邮件告警,请把 EMAIL_HOST 等设置添加到 compose.yaml,或者改用 webhook。
  5. 创建一个检查,并设置它的周期和宽限时间。
  6. 在任务结束时,添加一次对该 ping 地址的 curl 调用。

每台服务器都包含

  • 价格含每日备份
  • 不限流量
  • 完整 root 权限
  • 之后可升级或降配 RAM 和 CPU,并扩大磁盘
  • 位置:Istanbul · IST-1。

须知

  • 本安装不会设置发信。Healthchecks 通过邮件发送告警、报告和登录链接,所以在您把 EMAIL_HOST 等设置添加到 /opt/seturack/healthchecks/compose.yaml 之前,这些都发不出去。
  • Telegram、Discord、Pushover 和 Matrix 需要在服务器上添加额外的密钥。Webhook 则不需要。
  • 如果 Healthchecks 停止运行,告警也会停止。对重要的任务,请让这台服务器与被监控的服务器分开。
  • 请把 ping 地址当作机密。任何拿到它的人都可以把该任务标记为成功。
  • 界面只有英文。
  • 本安装使用 SQLite。项目把 PostgreSQL 或 MySQL 列为自托管的基础组件,所以如果您运行大量检查且 ping 很频繁,请规划数据库迁移。

Healthchecks 常见问题

Healthchecks 需要多少 RAM?

Healthchecks 文档没有给出 RAM 数值。经验上,1 GB 是不错的起点,检查数量增多、ping 历史变长时适合 2 GB。如果不够,可以在面板中升级配置。

Healthchecks 是怎么工作的?

每个检查都有自己的 ping 地址、预期周期和宽限时间。您的任务在结束时调用该地址。如果调用迟到,且宽限时间用完,检查就会变为 down 并发出告警。

如何给 cron 任务添加 Healthchecks?

复制检查的 ping 地址,并添加到您的 crontab 行中,像这样:/root/backup.sh && curl -fsS -m 10 --retry 5 -o /dev/null PING_ADDRESS。如果备份失败,ping 就不会发出,时间到了您就会收到告警。

任务可以报告自己失败了吗?

可以。在 ping 地址后加上 /fail 可以立即报告失败,加上 /start 可以标记一次运行的开始,也可以带上退出码。这样任务出错时就不必等到时间限制。

Healthchecks 支持哪些告警渠道?

Webhook、Slack、Microsoft Teams 和 PagerDuty 默认开启,不需要在服务器上添加密钥。邮件需要 SMTP 设置。Telegram、Discord 和 Pushover 需要把这些服务的密钥添加到 compose.yaml。

这和网站监控有什么不同?

Uptime Kuma 之类的工具会从外部向您的网站发送请求。Healthchecks 则相反:任务完成时主动来报到,没有动静就触发告警。这意味着它可以监控没有公网地址的备份和 cron 任务。

可以给 Healthchecks 使用自己的域名吗?

可以,但 ping 地址是由网站地址生成的,所以请在创建检查之前连接好域名。您需要一条 A 记录、Caddy 设置,以及 .env 文件中的 SITE_URL、SITE_HOST 和 SITE_ADI。如果以后再改,请更新任务中的地址。

了解更多,查看类似应用