關於運維監控系統實踐中的一些 tips
監控是一場攻堅戰,更是持久戰, 一方面監控系統的功能需要持續優化 , 另一方面監控策略需要持續完善 。因為其持續優化的特點,對於監控任務達到一定量級的企業,需要設定專職監控體系建設團隊,持續增加和優化監控系統工具,為監控工具的使用者提供強有力的炮火支援;需要設定專職指標優化團隊,作為監控系統的使用者,持續推動監控指標的補充完善,推動監控系統功能建設,推動監控持續優化的工作落地。運維團隊需要關注監控,開發、業務、運營團隊也需要關注監控,因為強大視覺化展示能力的監控系統和告警資訊同樣可以幫助他們站在另外的視角快速掌握和定位系統的運轉情況。
在監控實施過程中不能片面地追求監控指標的覆蓋度。提高覆蓋度乍看起來是為了全面掌握物件狀態,但其實一開始方向就錯了。實施監控的目標絕對不是為了達到多少個指標、多少條告警規則,這些資料雖有意義,但絕不應該成為我們追逐的目標。有句話是這樣說的:不要因為走了太遠,而忘了當初為何出發。監控的核心目標是為業務穩定執行保駕護航。從實施層面來看, 監控歸納起來就兩條:少漏報和少誤報 。
漏報主要有兩方面原因:一個是沒有監控到,這個好解決,升個級把它監控起來就行了(注意不是堆砌監控指標或系統功能);另一個是沒有想到,摸著石頭過河,誰知道哪塊淤泥裡埋了釘子呢,只有被扎到的時候才感覺到痛。所以漏報的情況儘管很難避免,但我們總能想辦法儘可能降低漏報的發生。此時還要注意, 不要為了實現不漏報,而放鬆對傳送告警資訊的控制而產生誤報 。
誤報帶來的問題也很大:一方面總有人在旁邊喊著“狼來了”,會讓監控人員產生麻木心理;另一方面誤報的資訊極易成為干擾資料,造成告警疲勞,甚至有可能使監控人員忽略或者錯過真正的故障告警事件,所以監控丟擲的告警一定要有價值。
設定合理的監控告警級別是減少監控誤報的有效手段。分析清楚哪些告警需要引起關注,哪些告警需要人為干預,哪些告警對應著故障,通過“提醒、預警、告警”等級別進行區分,提高告警即故障的比例。如果所有生產故障的發現都來自監控,那麼這一定是最強大的監控系統。要實現這一點不僅要通過技術手段加強保障,提高監控對故障的覆蓋率,還要結合企業內部的事件處置流程,優化事件上報機制,保持較為通暢的溝通渠道。
在故障處置過程中,還應努力 提高對監控告警事件的處理效率,爭取發現即響應,並能在短時間內有效消除故障影響 。基於有效的技術保障措施,對大量告警進行鍼對性優化,提高監控指標的覆蓋度,降低誤報,同時結合管理手段,重點關注告警事件多次發生但整改效果不明顯的系統或團隊,通過多方面舉措,不斷降低告警事件的發生,進而不斷提高系統穩定性。
監控系統建設要完善“監”能力,更要增強“控”能力,多數監控系統仍然是“監”多“控”少。從辨證角度來看,作為監控系統的兩個功能點,“監”與“控”應當相互搭配、相輔相成。資料要打通,這個打通不僅僅是監控與事件打通,也不僅僅是監控資料與大資料平臺打通,還包括監控系統與自動化運維繫統打通,對於某些確定性事件,通過規則匹配或者智慧學習演算法,當告警發生時應能夠自動觸發干預的策略,也就是故障自愈。
監控系統建設的長遠目標之一是預測故障並提前化解生產環境可能發生的故障。通過手工設定預警規則的方式,終歸屬於被動響應,最理想的情況當然是能夠通過歷史趨勢建立預測模型,利用模型自動判斷當前資料是否存在異常。在故障尚未發生時,就能根據資料趨勢預判異常徵兆,然後第一時間進行干預。預測監控需要建立模型,需要應用系統配合改造,需要藉助大資料平臺做運維資料分析,對監控採集的執行資料建立一條執行基線,通過對當前監控採集的資料與執行基線做對比,加上當前執行資料與基線比較的策略模型,預測業務執行情況。
- 那些 Go 語言發展歷史上的重大決策
- 從趨勢到挑戰,一站式解讀作業系統運維和可觀測性
- 百萬級 Topic,騰訊雲的 Apache Pulsar 穩定性實踐
- Apache Doris 在思必馳的應用優化實踐:海量語音通話資料下,實時、離線一體的數倉架構設計實踐
- 愛數正式開源認知智慧開發框架 KWeaver
- 運維智慧化的三大關鍵技術
- “抄我的還‘反捅’我一刀”,Gary Marcus 發文駁斥圖靈獎得主 Yann LeCun
- 當出海成為必選項,企業如何構建全場景全生態技術底座?
- 數智底座必備能力三:快速構建創新應用
- Docker 多階段構建實戰 (multi-stage builds)
- 工作筆記之 SELECT 語句在 SAP ABAP 中的用法總結(上)
- 經久不衰的設計定律是不要讓我思考的設計
- 不要指望下一個像 GPT 這樣的大型語言模型會民主化
- Java 近期新聞:Helidon Níma、Spring Framework、MicroProfile、MicroStream、Kotlin 和 Piranha
- 一文入門 jQuery
- C 學習 ---__libc_open 函式的原理
- 監控系統工作原理
- 甲骨文新微服務框架 Helidon Níma:使用虛擬執行緒實現高效能
- 【雲原生 | 從零開始學 Kubernetes】二、使用 kubeadm 搭建 K8S 叢集
- Elasticsearch 聚合學習之四:結果排序