01. 何為排障“最后一公里”
為什么說在企業運維排障中,日志體系建設通常被稱為"最后一公里"
這是因為日志是在系統出現問題時提供關鍵信息的重要數據來源。在排障過程中,日志記錄了系統運行時的各種活動和事件,可以幫助運維人員追蹤問題的根源。
“最后一公里”指的是在排障過程中,當其他排查方法都無法解決問題時,運維人員會轉向日志來查找答案。日志記錄了系統的運行狀態、錯誤信息、異常情況等,通過分析日志可以幫助定位問題,找到解決方案。
舉例來說,核心交付系統每天處理數百萬筆交易。有一天,客戶投訴稱“一小部分交易失敗,而且無法追蹤失敗原因”。工程師利用監控工具檢測到一些異常指標,但這些指標無法提供問題的具體細節。通過對比成功和失敗的交易日志,工程師發現交易失敗的根本原因在于與第三方服務的通信故障。于是,工程師與第三方服務的支持團隊聯系,并共享了相關日志,成功解決了問題,恢復了交易正常運行,讓相關的失敗情況不再重復發生
以上提到的只是一種故障場景,說明日志對于排障處理起到關鍵作用。日志數據記錄了系統或程序在執行過程中每個事件的明細詳情。通過收集日志數據,可以獲得系統或程序發生故障時的現場快照,精確了解根本問題所在。如果在前期能夠聚焦范圍,鎖定少量關鍵日志,那么大部分的故障根因問題就可以被快速確認。
因此,日志體系建設在企業運維中扮演著至關重要的角色,它不僅可以幫助提高故障排查的效率,還可以提升系統的穩定性和可靠性。所以,人們常說日志體系建設是企業運維排障中的“最后一公里”。
那為什么需要建設日志體系?其面臨的挑戰又是什么?我們應當如何建設日志體系呢?
02. 為什么要建設日志工具
1)面向運維者
主動發現:能精準從日志數據中捕捉異常并告警;
輔助運維:通過日志了解到詳細信息,以判斷下一步運維操作;
采集便捷:無侵入式采集,中心化采集,便于推廣實施。
2)面向開發者
快速查詢:集中查詢,跨應用查詢,不需要來回切換機器;
根因定位:能精準獲取到日志的上下文做代碼根因定位;
輔助優化:從日志信息中獲取有效信息,優化現有代碼。
3)面向部門管理者
建設:避免煙囪式建設運維工具,需要體系化打通數據和上下游;
管理:日志數據權限管控,統一查看,統一存儲和管理;
規范:日志規范落地需要平臺和工具的承載。
4)面向企業領導者
競爭:通過完整的可觀測體系讓公司運營效率超過競爭對手;
合規:讓日志的記錄符合政策法規,避免審計風險;
安全:各類訪問和操作日志數據是信息安全的重要信息來源。
03. 日志體系建設所面臨的挑戰
故日志體系建設所面臨的挑戰需要綜合考慮技術、安全、隱私、性能等多方面因素,只有解決上述問題才能建立起一個完善的運維日志體系。
04. 日志建設實踐引導
1)日志數據標準化,確保規范
① 定義日志規范
② 記錄關鍵信息
③ 支持開源協議
④ 實踐建議
遵循日志規范并準確記錄關鍵信息是建設穩健可靠的日志系統的關鍵所在。定義規范、記錄關鍵信息、并遵循最佳實踐可以更好地利用日志數據進行故障排查、性能優化和安全審計等工作。這些步驟旨在確保日志信息經過明確、準確和一致的格式,從而更好地滿足業務需求。
2)日志數據精煉,優化清洗
日志數據是文本數據,難以讀懂,更難以通過統計分析賦能運維、運營、業務人員。因此,構建日志體系時需要考慮工具是否具備強大的日志清洗能力,支持將各類格式的日志進行結構化解析,從而可以基于結構化數據構建資源監控、業務監控、業務分析等場景。
除了強大的日志清洗能力外,預置固定清洗模板也十分重要,不僅可以提升日志清洗的效率,還可以助力企業日志標準化建設,有利于減輕落地推廣的難度。
3)日志數據安全保護,數據脫敏
日志數據作為系統運行和活動的記錄,可能包含敏感信息,如個人身份信息、密碼、信用卡號等。這些敏感數據如果在日志中以明文形式存在,可能會造成嚴重的安全風險,如數據泄露、隱私侵犯等問題。因此,對日志數據進行脫敏處理是必要的。
通過數據脫敏,可以有效保護敏感信息的安全性,避免泄露風險。脫敏技術可以將敏感數據轉換為無意義的、難以識別的數據,保留數據的結構和格式,同時隱藏真實內容。這樣既能保護用戶隱私,又能確保數據的完整性和可用性,同時遵守相關的隱私法規和合規要求。
4)持久存儲,日志長周期保留策略
為了滿足合規性、監管要求、故障排查、趨勢分析和歷史記錄等目的,某些日志數據需要被長期保留,但長期存儲會面臨存儲成本和維護成本過高的問題。我們可以通過以下的思路來制定日志長周期存儲策略。
① 合理選擇存儲介質
② 數據備份及可恢復
③ 數據壓縮
5)日志檢索,提升運維效能
日志檢索在日志體系建設中扮演著關鍵的角色,其目標是為用戶提供一種快速定位系統問題和異常的能力,以便加速故障排查和問題診斷的過程。為實現這一目標,日志檢索需要具備基礎的查詢語法,允許用戶根據關鍵詞、時間范圍等條件來檢索日志數據,以快速定位所需信息。在日志檢索過程中,用戶還可以使用通配符等高級查詢語法,以更精準地過濾和搜索日志數據。同時考慮到一些安全合規,日志檢索還需具備脫敏檢索功能,可以在保障數據隱私的前提下,依然能夠有效地進行日志檢索和分析。
另外,日志檢索還應具備用戶友好的查詢界面和交互體驗,使用戶能夠輕松地輸入查詢條件、查看搜索結果,并進行進一步的篩選和分析。除了基礎的字段過濾外,一些高級功能如統計分析、可視化展示等也可以幫助用戶更全面地理解日志數據,快速發現系統中的問題和異常。
在涉及多業務之間日志檢索時,還需要支持多日志數據之間的聯合檢索功能,用戶可以同時查詢不同業務生成的日志數據,進行比對和分析,全面了解業務運行情況。這樣的功能有助于提高故障排查和問題診斷的效率,促進系統運行的穩定性和可靠性。
6)日志高效排障,快速定位問題
日志最為典型和核心的應用場景之一便是用于排障。通過利用日志,快速定位問題并走完排障的“最后一公里”。在查詢日志時,以下步驟可以幫助實現高效定位問題:
除了以上步驟外,還可以利用人工智能(AI)能力和可觀測上下游聯動能力,進一步縮小日志查詢的時間和空間范圍,進一步提高故障定位效率。
7)智能化日志聚類能力
企業日志數量一般相當大,每天可能產生TB級別的日志數。當工程師需要從千萬條日志數據中尋找異常日志進行問題定位時,時間成本很高。在這種情況下,如果日志工具提供了日志聚類能力,那么千萬條日志數據就可以聚合成十幾種格式類型,提高信息密度。這將使工程師避免查找重復日志而浪費大量時間。
8)可觀測上下游聯動
基于可觀測系統設計模式,可以將指標數據、鏈路數據與日志數據進行打標關聯。這樣做的好處是,當在上游發現指標或鏈路數據異常時,在排障過程中可以直接下鉆定位到關聯的下游日志數據,省去了在千萬條日志中查找異常日志的過程,大大提高了定位問題的速度。
在云原生時代IT可觀測的三大支柱數據:Metrics,Tracing,Logging,日志數據在其中承擔著排障的“最后一公里”的角色,基于其信息量大的特點,為研發、運維提供最直接且詳盡的視角,深入了解IT系統運行的細節信息。
隨著可觀測體系的技術發展,可觀測三大數據的融合和串聯,已經成為提升日志價值信息密度的重要手段,前端的Metrics,Tacing數據就宛如快捷的交通工具,而排障的“最后一公里”就需要依賴日志數據來支撐,融合串聯,快速定位關鍵信息點。
實現排障的“最后一公里”,需要在數據采集、數據監控、數據告警、數據分析四個層面上進行Metrics、Tracing、Logging的融合打通。
因此企業在建設可觀測日志體系時,建議選用覆蓋完整,且各類觀測工具可自由組合的可觀測平臺,因為這些平臺往往從一開始就會考慮幾種數據之間的融合設計,不僅數據之間可以實現融合打通,UI界面上的串聯排障過程也很絲滑,避免煙囪式建設。
同時以融合理念進行設計的產品,企業可以根據自身現狀分批、分階段建設,有效控制建設成本,實現最終的可觀測體系建設,讓企業能夠順利轉型過渡。
9)深度挖掘日志價值,解鎖數據潛力
日志數據是故障排除的關鍵,但僅保存日志是遠遠不夠的。由于日志數據包含了豐富全面的信息,因此我們可以通過挖掘日志數據來實現以下場景:
安全監控05. 結語
綜上所述,在當今數字化時代,日志數據的重要性不容忽視。通過建立完善的日志體系,并利用各類觀測工具進行數據融合,企業可以實現安全監控、故障定位、性能優化、合規審計、開發維護以及業務分析等多方面的價值。而充分挖掘日志數據潛力,有助于企業更有效地管理和優化系統運營,促進持續發展。因此,日志體系的建設將成為企業數據管理和運營中不可或缺的戰略舉措。
申請演示