托管 Healthchecks,什么都不用装

反过来的监控思路:任务自己报告"我成功了",触发提醒的是沉默本身。

低至 每月 8.99 €

概述

Healthchecks 由我们安装、更新和备份,运行在法国的机器上。监视您的计划任务,一旦某个任务没有执行就会提醒您。这是备份不可或缺的补充:您能知道备份什么时候停了。您什么都不用装,也不用配置服务器:下单后几分钟,这个应用就会以您的名义上线。

与它相配的是 应用 舒享版,每月 8.99 €(含税)—— 4 GB 内存。接收一个信号是目录里最轻量的操作:一次 HTTP 请求,一行数据库记录。真正占地方的是周围保存的东西——Healthchecks 会保留每个任务最近一百次信号的历史记录,包括脚本传回的输出内容,每次调用最多十千字节,而决定是否要报警的循环始终在运行,不断把每个到期时间和当前时刻比对。有几十个任务、加上它们的日志之后,数据库会慢慢变大,这份余量能让您不必为清理操心。

这里替代的是 Cronitor、Dead Man's Snitch,或者同一款软件的托管版。迁移不是搬数据,而是换一个地址:每个任务都会拿到一个信号 URL,您只需要在脚本和 crontab 里把旧地址换成新地址。如果有六十个任务,可以用 API 批量创建,再重新读取一遍核对。脚本用一行 curl 命令就能报告成功;如果允许它在开始前调用 /start,出错时调用 /fail,您还能额外拿到执行时长和失败原因。当被监控的机器没法发出 HTTP 请求时,给任务对应的邮箱发一封普通邮件,也能当作一次信号。

8.99€/月
推荐套餐(含税)
4GB
该套餐的内存
5分钟
上线用时
100%
托管在法国

托管式主机改变了什么

没消息才是触发提醒的原因

每个任务都有一个周期和一段宽限期。只要信号在这个窗口内到达,就什么都不会发生;一旦超过宽限期,提醒就会发出。这是唯一能抓住"备份停了""服务器关机了""crontab 被删了"这三种情况的机制——传统监控根本看不到这三种故障。

脚本的输出,跟信号一起保存

在处理开始时调用一次 /start 可以测出耗时,调用 /fail 可以宣告失败,命令的返回码也能原样传过去。随信号一起上传的标准输出会被保存下来:一旦备份失败,错误信息已经摆在界面里了。

像 cron 一样表达时间

一个任务可以声明成"每六小时一次",也可以是"周一到周五的 3:15",还能带上自己的时区。Healthchecks 会据此算出真正的下一次到期时间,而不是简单地数间隔,这样就能避免周末和夏令时切换时的误报。

提醒发到您已经在用的渠道

邮件、webhook、Slack、Discord、Telegram、Matrix、Mattermost、ntfy、Gotify、Pushover、PagerDuty、Opsgenie。每个任务还带一个图片形式的状态徽章,可以公开显示在一个状态页面上,而不必开放其他内容的访问权限。

为什么交给我们,而不是自己装

三月份就停了的备份

经典场景:磁盘满了、密码改了,脚本悄无声息地中断。往往是要恢复数据那天才发现问题。在脚本末尾加一个信号,提醒第二天早上就到,而不是六个月后。

每月一号的开票任务

一个月只跑一次的任务,恰恰是最容易忘记检查的那种。用它的 cron 表达式声明好之后,剩下十一个月都会以同样的方式被监控,不用再惦记它。

管理四十个任务的服务商

每个客户一个项目、各自独立的 API 密钥,再靠徽章为每个项目生成一个公开状态页面。客户能看到自己的备份昨晚跑过了,但看不到别人的。

每五分钟就要发一次信号的探头

一个温度传感器、一次抄表、机房里的一个盒子:只要它还在发信号,就说明它还活着。它一旦沉默下来,问题就出在设备本身,而且您立刻就知道。

证书续期

自动续期能正常工作两年,然后悄悄坏掉。与其盯着到期日期,不如直接监控这个续期任务本身,能在浏览器显示警告的三周前就提醒您。

托管在法国

在我们自建自营的新阿基坦大区基础设施。一个真正有用的监控系统,不该和它监控的对象放在同一家服务商那里,电话那头的人也说您的语言。

常见问题

没有历史记录需要搬过来,这其实是好事:真正重要的是任务清单和它们的到期时间。您在这边重新建一遍——十个任务就手动建,六十个就用 API——然后把脚本和 crontab 里的旧信号 URL 换成新的。让两套监控并行跑一周:这是确认没有漏掉任何任务的最好办法。

脚本末尾加一行就够了:对任务的 URL 发一次 curl 请求,网络不稳定时可以多试几次。想做得更细致,可以在处理开始前调用 /start,命令失败时调用 /fail,这样就能拿到执行时长和失败原因。如果被监控的机器不能发 HTTP 请求,每个任务都配有一个邮箱地址:往那里发一封邮件,效果等同于一次信号,这对封闭的设备特别有用。

Healthchecks 自己什么都不会主动测试:它只是等着别人跟它说话。要知道一个网站有没有响应、证书是否还有效,得靠旁边另一个主动监控工具,不是靠它。自托管时,每个提醒渠道都要用自己的凭据来配置——一个 Telegram 令牌、一个 Slack webhook 地址——邮件发送则取决于您填写的中继服务器。短信和 WhatsApp 渠道要走一个付费的第三方账号,费用由您自己承担。

应用 舒享版,每月 8.99 €(含税)。它提供 4 GB 内存,而这个应用最少只需要 1 GB:多出来的余量是留给系统的,不是摆设。以后也可以换套餐而不必重装。

不需要安装任何东西:只要在您要监控的脚本里加一行,调用任务的 URL 就行。每个脚本一行代码,不需要任何新的依赖。