可觀察性發展背景

可觀察性的概念起源於工業領域,在該領域中,可觀察性被定義為從系統外部輸出推斷系統內部健康狀態的能力。

隨著軟體架構的巨大變化(主機模式 → C/S架構 → J2EE → SOA → 微服務 → 基於容器的服務 → 容器編排),開發、迭代、交付的效率得到了很大提升,同時系統的監控和排障越發困難。當系統環境像當下一樣複雜時,僅監視已知問題已經無法解決不斷增加的新問題。這些新問題是“未知的未知數”,沒有人知道導致問題出現的原因,也沒有標準化的起點或圖表來幫助查詢,即使是經驗豐富的駐地運維專家也無法每一次都精準預測和解決在現代生產軟體系統中可能出現的緊急故障。

Twitter工程師 Cindy Sridharan 在2017年發表的《Monitoring and Observability》一文中,首次將 Observability 一詞帶入開發者的視野。在Cindy Sridharan 提出可觀察性之前,谷歌著名的 SRE 體系就已經為可觀察性奠定了理論基礎,也就是說在微服務、可觀察性等概念出現以前,業內通常稱之為監控。其中, Google SRE 特別強調白盒監控的重要性,而將當時技術圈常用的黑盒監控放在了相對次要的位置,而白盒監控正應和了可觀察性中“主動”的概念。

在軟體產品和服務領域,可觀察性是指在不部署新程式碼的情況下,能夠理解和解釋系統可能進入的任何狀態的能力,企業需要能夠提供可觀察效能力的產品,因為系統的複雜性已經超出了人為可預測的範圍。

簡單地說,可觀察性就是從應用系統中收集儘可能多的遙測資料,以便可以調查和解決新出現的複雜問題,確保企業能夠主動觀察系統,在影響客戶體驗之前解決故障及問題,安全地進行測試並實施最佳化,更好地管理和控制業務風險。

可觀察性可以被視為系統的一個屬性,與功能性、安全性相似。

可觀察性與監控

可觀察性與監控經常被混淆或互換,因此有必要比較兩者的異同。

觀察易,實現您的IT業務可觀察

監控接收告警,同時反饋系統的正常工作的部分。

可觀察性則是更側重於系統停止或減慢工作的原因。

如上圖所示,傳統的運維可能只能展示最頂層的“告警”和“概況”,當應用系統宕機時,運維需要更深層次的錯誤資訊排錯,則需要收集更多資訊,利用動態分析手段去查明服務狀態及之間的關聯關係。

可觀察性三大支柱

可觀察性是由日誌、指標和鏈路跟蹤三大支柱構建的,即遙測資料可以精簡為日誌,指標和鏈路追蹤。

觀察易,實現您的IT業務可觀察

日誌(Logging)

:日誌展現的是應用執行而產生的事件或者程式在執行過程中產生的記錄,日誌可以詳細解釋系統的執行狀態,但是儲存和查詢需要消耗大量的資源。

指標(Metrics)

:指標是一種聚合數值,其所需的儲存空間小,便於觀察系統的狀態和趨勢,但對於問題定位缺乏細節展示,可使用多維資料結構增強對於細節的表現力,例如統計一個服務的平均耗時、請求量等作為細節輔助。

鏈路跟蹤(Tracing)

:儘管日誌記錄了各個事件的細節,可在分散式系統中,日誌仍舊存在不足之處。日誌記錄的事件是孤立的,但是在實際的分散式系統中,不同元件中發生的事件往往存在因果關係。鏈路跟蹤解決了這一問題,透過SpanID等標記可重新構造出事件的完整鏈路以及因果關係,技術人員可以藉此瞭解網格內服務的依賴和呼叫流程,構建整個網格的服務拓撲並輕鬆分析出請求中出現的異常點。

以上三種形式的組合使用將會產生豐富的觀察資料,日誌易由此推出了國產可觀察性監控平臺——觀察易。

觀察易,日誌易可觀察性監控平臺

觀察易,實現您的IT業務可觀察

觀察易是一個基於日誌易平臺,從業務-服務-介面-裝置四層維度對應用系統進行分析的可觀察性監控平臺,接入基礎監控指標和業務分析日誌資料後,透過梳理業務層面的依賴關係,展現出全面準確的可觀察性內容,幫助客戶瞭解並實時監控應用系統執行狀態。

觀察易加強了日誌、鏈路、指標的三大可觀察性支柱間的關聯,從而縮短了發現並解決問題的時間。

應用場景:

運維監控

在“業務至上”的網際網路時代,DevOps需要持續監控業務狀態,當故障發生時需要快速找到根因並進行修復。觀察易能夠從業務維度對業務的平均耗時、請求量、錯誤數、成功率四個黃金指標進行監控,也可以從服務和介面維度對業務的整體狀態進行分析。另外,觀察易也提供和業務無關的服務監控、介面分析和裝置監控,實現更全面的系統可觀察性。

鏈路追蹤

伴隨企業IT由傳統架構向分散式微服務架構轉型,複雜單體應用被拆分為多個輕量級服務。由於服務間的獨立性,一筆業務會涉及到多個微服務系統。觀察易可對接trace日誌,實現業務鏈路追蹤,透過觀察易的拓撲圖、歷史回溯和指標趨勢圖瞭解業務詳情,快速定位故障,讓IT運維人員更準確、高效地掌握微服務環境下業務的執行狀態。

指標探索

從業務、服務、裝置角度來說,側重的是黃金指標可觀察性,如果需要關聯黃金指標對比觀察或需要關注黃金指標以外的其他指標時,運維人員可以使用觀察易的指標探索功能對時序資料進行單指標多維度(平均值、最大值、最小值等)或多指標多維度查詢、分析並實現視覺化。

故障定位

觀察易能夠提供標準的起點或圖表來幫助運維人員查詢問題,分別從業務-服務-裝置的概覽追蹤到其詳情,進而結合呼叫鏈的span資訊或其他日誌資訊定位到故障原因。

實現價值:

l 更快地發現問題,以便儘早控制併發出警告

l 更好地追溯問題根源,從源頭保證系統可觀察性

l 更實時的反饋,以便更快採取措施進行修復

l 更準確、更緊密的事後審查和檢查,便於制定更全面的應急預案

l 更智慧的資料分析和機器學習,更高效地預測並阻止問題發生