領英宣布將用于調查主機和服務中斷以及其他網站導航問題的兩種工具開源。Fossor(gragraigger的拉丁語)是一個Python工具和庫,可以同時自動執行多個檢查,而另一個Python庫Ascii Etch以ASCII字符圖的形式輸出從Fossor收集的信息。
領英首席開發人員Steven Callister在一篇博客文章中寫道,對于厭惡了凌晨3點服務器中斷,而自己需要爬起來上班的工程師來說,其自動化診斷和修復問題方面的能力應該是非常受歡迎的。
Callister借用了Netflix的一些故障診斷理念,在博客文章中列出了10個有用的網站停機命令。Callister寫道:在經歷了隨叫隨到,一次又一次地執行相同的重復工作的痛苦之后,我認為必須編寫一個工具來并行執行這些基本檢查,這將加快解決問題的平均時間。進一步考慮這個想法,我想要的工具可以執行專門為服務定制的檢查,同時還可以靈活地將未來新開發的檢查結合起來。Fossor的創建就是為了做到這一點。
Fossor的設計將程序的兩個組成部分(引擎和插件)分開,以減少嚴重錯誤的發生。
Callister寫道,通過把每個插件的流程隔離以獨立起來,主引擎可以避免因為單個插件失敗而導致應用程序崩潰。這個插件是為了讓Fossor安全地管理來自許多貢獻者的插件而專門設計的,因此為用戶之間分享知識搭建了一個平臺。
插件有三種風格,變量收集,檢查和報告,并允許用戶指定由Fossor收集哪些有價值的信息,根據信息類型,可以用Ascii Etch繪制圖表。
Ascii Etch最初是為了繪制運行Fossor的結果而創建的。Callister寫道,它比簡單的文本更有用,可以快速發現數據中的異常情況。
Callister在博客中表示,Fossor的原始下游延遲插件顯示平均延遲的最小值和最大值。雖然這些是有用的統計數據,但是圖表可以更清晰,更快速的確定下游是否存在延遲。
Callister表示,開發團隊希望通過Fossor的模塊化特性為網站管理員和開源社區帶來巨大收益,同時為自動化工具提供更多插件。