低開銷、簡單的網站監控工具Checkless開發者專訪
ofollow,noindex" target="_blank">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
感謝冬雨對本文的審校。