低开销、简单的网站监控工具 Checkless 开发者专访

阅读数:492 2018 年 9 月 25 日 05:21

Steve Elliott 想要一个简单、便宜的方法来监控他的网站的正常运作时间。他发现大多数现有的工具要么太复杂,要么太贵。因此,他就搭建了 Checkless ,这是一款无服务器的工具,通过 ping 检查来监控网站的正常运作时间,在一定的应用场景下,这款工具可以免费使用。Elliott 在他的博客上提供了详细的详细步骤指南来进行 Checkless 的安装和配置

InfoQ:什么是 Checkless?

Steve Elliott:Checkless 是一款简单的工具,可以帮助保证网站的正常运行,当网站运行出现异常的时候,会立即通知你。这款软件完成了简单的工作,而且非常便宜(即使不是免费的,也不会很贵),一开始这是个简单的个人项目,但在我展示之后 Twitter 上一些人表示对它非常感兴趣,所以我想让它变得更加方便使用。这些人对这个项目的浓厚兴趣,说明在无服务器的平台上进行网站监控的需求比我想象中要大。

InfoQ:在已经有其他 ping 检查工具的情况下,是什么促使你创造了 Checkless?

Elliott:我需要监控一些个人网站,最好在不要增加额外开销的前提之下。我之前用过很多商用的正常运行时间监控平台和开源的监控平台,但都需要支付服务费或基础设施费。

我的需求是最好能便宜(甚至免费)地检查我的网站是否正常运行,这些工具看起来都不能达到我的标准。后来我知道无服务是一种只需要消耗时间,但可以划算地执行代码的方式,看起来能满足我的需求。

InfoQ:将 Checkless 实现为无服务工具,你经历了什么挑战?

Elliott:目前为止最大的挑战是实现多区域支持。我一开始使用无服务框架,这对部署有非常大的帮助,但它仅适用于单区域支持,或是跨多区域部署相同的应用程序。我给 Checkless 搭建了 CLI 工具,需要 YAML 配置文件,将它扩展为一个或多个无服务配置文件。使用 CircleCI 或 Travis,之后你就可以自动部署网站检查了。

在经历了多区域挑战之后,Checkless 又帮助我了解了无服务编程和 AWS Lambda 的很多知识。你可以了解最佳方案是什么,了解如何在保证最小化成本的前提下,优化代码结构。经过反复的实验和错误的发生之后,一些问题还是不能很好解决,主要是测试和监控。

InfoQ:Checkless 有什么局限或是功能欠缺呢?

Elliott:Checkless 设计越简单越好,所以它的警报非常简单。它现在支持通过电子邮件或是 Slack 提醒。使用任何一个方式,你都可以设置一些合理的提醒,但为了更方便,可以通过 Pager Duty 或 VictorOps 这样的服务向 webhooks 发送通知。

Checkless 目前只能匹配 HTTP 状态码。想要覆盖更多的用例,需要扩展为检查网站响应内容才行。我最担心的是如何在增加功能的同时不要添加配置或设置的复杂性。

InfoQ:你是否需要社区的贡献?如果其他人也想参与其中,最好从哪里开始着手呢?

Elliott:我当然希望大家能参与进来,到目前为止这还只是个人项目,但如果有人希望参与进来,我鼓励他们通过 Twitter 或 Github 与我取得联络。能了解到别人的需求是什么,了解 Checkless 是否对他们有用,了解是否缺少什么功能对我来说非常有帮助。我使用 CLI 做的许多工作都是为了让设置 Checkless 变得更加简单,所以非常希望能获得这方面的反馈。

InfoQ:未来的改进和新功能有什么路线图计划?

Elliott:我的主要目标是让 Checkless 保持足够简单,以及免费或便宜地使用。考虑到这一方面,我确实有一些想添加的功能:

更多消息通知的渠道

检查响应的内容而不是响应状态代码

报告

多云提供商支持:该功能允许从不同网络进行检查,并允许使用多个免费层(如果可以的话)。

更多触发器:Slack 是个很好的选择,但从我的角度出发,我希望通过 Alexa 或者其他类似的设备触发:“Alexa 检查我的网站是否运行正常”将会是个很酷的功能。

这已经很多了,而且对我来说最关键的是保证 Checkless 足够简单,可以免费试用,所以真正的挑战是在不破坏这项原则的基础下,添加新的功能。

要了解更多有关 Checkless 的内容,可以参考项目的 GitHub 库。

查看英文原文 Q&A With the Creator of Checkless, a Low-Cost, Simple Site Monitoring Too    

感谢冬雨对本文的审校。

评论

发布