前言
本篇是SLS新版告警系列宣傳與培訓的第一篇,后續我們會推出20+系列直播與實戰培訓視頻,敬請關注。
系列目錄(持續更新)
- 一站式雲原生智能告警運維平台——SLS新版告警發布!(本篇)
- 這才是可觀測告警運維平台——20個SLS告警運維場景
- 可觀測告警運維系統調研——SLS告警與多款方案對比
1. 雲原生觀測告警
1.1. 業務發展對開發運維的挑戰
現代業務發展對開發運維提出了新的挑戰,具體如下:
1.1.1. 業務:穩定性要求越來越高
參考AIOps的目標與挑戰,隨着越來越多的業務雲化數字化,例如今年開始大熱的在線教育,任何一個穩定性、可靠性等異常都將給業務帶來巨大的損失。要求SLA(服務可靠性)越高越好、MTTR(問題平均修復時間)和Cost(成本)越低越好。
在各大雲廠商,也指定了非常多的穩定性制度和要求,例如1-5-10(1分鍾發現問題,5分鍾定位問題,10分鍾解決問題)准則。
1.1.2. 系統:復雜性越來越高
隨着開發模式(敏捷開發、DevOps)、系統架構(分層、微服務)、部署模式(容器化、雲原生)、和基礎設施(多雲、混合雲)的快速演變,系統變得原來越復雜。當系統出現問題時,如何發現問題、排查定位原因、解決問題就越來越困難。從監控運維的角度,系統的可觀測性也逐步成為是一個基本要求。
1.1.3. 工程師:職責越來越大
因為前述原因,系統從研發集成到上線前后的各個階段,有大量的工作需要做,不同人員參與的協同會大大降低響應速度,越來越多的公司要求一專多能。開發、測試、運維融合逐步成為趨勢,開發人員逐步開始承擔測試的工作、部分的運維甚至運營的工作。
隨着業務數字化時代的到來,可預見到運營角色更深入的與開發、運維角色融合也是一個趨勢,也就是說開發工程師未來投入到運營(Ops)的時間也會逐步增加。
1.2. 什么是可觀測性
傳統監控一般以一個白盒方式監控系統,專注發現核心指標異常,例如500錯誤,客戶訂單成功率等。一般這種問題發生時,准取性極高(例如大量500錯誤,大量訂單失敗,一定表示SLA有問題),一般也都比較嚴重。因為是黑盒,進一步排錯和修復時間和成本極大,往往給開發運維人員帶來極大壓力。
根據海恩法則(Heinrich's Law),每一起嚴重事故背后,必然有29次輕微事故和300起未遂先兆以及1000起事故隱患。如果提前處理那些不那么嚴重的問題、先兆或者隱患,其實是可以避免后續的嚴重事故的,也就避免了其帶來的巨大壓力和損失。
可觀測性是對傳統監控的升級,其要求進行白盒化監控,對各種可能的隱患、先兆、不嚴重問題進行監測、跟蹤處理。且不再只是在發布后,而是在開發、測試階段就進行。
因此對比兩者,可以發現,傳統監控主要由SRE人員從系統外部進行監控,關注指標,發現問題(Know What);而可觀測性由DevOps人員從系統內部進行監控,關注指標、日志和跟蹤等數據各種數據,發現問題並挖掘原因(Know Why)。
1.3. 可觀測性的挑戰
根據AIOps平台方案選擇,可知各種監控數據(指標、日志、跟蹤等)的中台都有各種方案,同樣的監控系統也有非常多的選擇。
主要挑戰就是:
- 數據覆蓋不完整、存在數據孤島(無法關聯協同)
- 使用門檻高,不人性化
1.4 告警運維系統的痛點
可觀測性對於告警監控運維系統是有很高的要求的,但現狀卻不容樂觀,我們可以看到常規監控運維系統存在如下6大痛點:
具體展開細化如下:
2. 什么是SLS告警運維系統
2.1. SLS(日志服務)是什么
SLS是阿里雲上雲原生觀測分析平台,為Log/Metric/Trace等數據提供大規模、低成本、實時平台化服務。目前對內已經是“阿里巴巴 + 螞蟻金服”系統的數據總線,數年穩定支撐雙十一、雙十二、新春紅包活動。對外則已經服務阿里雲幾十萬企業客戶。
2.2. SLS新版告警——一站式智能告警運維系統
SLS新版告警在中國站等發布公測(國際站預計4月發布),新版在SLS雲原生可觀測性平台上提供了一站式智能運維告警系統。新版告警提供對日志、時序等各類數據的告警監控,亦可接受三方告警,對告警進行降噪、事件管理、通知管理等,新增40+功能場景,充分考慮研發、運維、安全以及運營人員的告警監控運維需求。
可以看到新版告警由4個模塊組成:告警監控、告警管理、通知(行動)管理以及即將發布的開放告警組成。下面逐步介紹各個模塊的作用。
2.3. 優勢
使用SLS新版告警,可以有效緩解前面提到的告警運維系統的痛點,和其他自建、商業化或雲廠商提供的方案比,具備如下5大優勢:
2.4. 告警監控概述
通過告警監控規則配置,定期檢查評估,查詢統計源日志、時序存儲,按照監控編排邏輯,評估結果,並觸發告警或恢復通知,最終發送給告警策略。
告警監控提供的功能可以分為如下3類:
基礎能力
其中值得強調的是SLS告警監控的基礎能力支持大規模日志/時序/跟蹤等實時監控,而查詢統計語法也是使用通用統一的SQL(並擴展)的方式提供。也就是SQL = Search + PromQL + SQL92。
例如對特定機器是否在線監控,可以使用SQL、PromQL、或者兩者子查詢協同、甚至多層嵌套使用機器學習的算法來找出異常。
其中機器學習算法是直接在SQL擴展方式提供,覆蓋了以下4個場景:
2.5. 告警管理
每一個告警監控規則會將觸發的告警(含恢復通知)發送給一個預先配置的告警策略,通過告警策略配置,對所有接受到的告警進行路由分派、抑制、去重、靜默、合並操作,后再分派給特定行動策略。
通過告警中心控制台可以管理告警的狀態(包括設置處理人),和查看告警鏈路與規則態勢。
告警管理提供的功能也可以分為3類,如下:
2.6. 行動(通知)管理
每一個告警策略根據配置分派合並后將每個告警合並集合發送給特定的行動策略。由行動策略根據配置動態分派給特定通知渠道通知到特定的人/組/值班組,也支持告警未及時處理下的通知升級。
行動(通知)管理提供的功能也可以分為3類,如下:
本文為阿里雲原創內容,未經允許不得轉載。