了解最新公司動(dòng)態(tài)及行業(yè)資訊
SLO(Service Level Objective)是服務(wù)質(zhì)量目標(biāo)的短語(yǔ)縮寫。它通常指的是維護(hù)系統(tǒng)的最高級(jí)別的目標(biāo),或服務(wù)等級(jí)協(xié)議(SLA)中的服務(wù)質(zhì)量目標(biāo)。它能夠定義客戶和用戶在使用軟件系統(tǒng)時(shí)所期望的服務(wù)質(zhì)量水平,并提供一個(gè)標(biāo)準(zhǔn)作為開(kāi)發(fā)和運(yùn)維團(tuán)隊(duì)的參考和評(píng)估。
對(duì)于觀測(cè)云來(lái)說(shuō),SLO 是進(jìn)行 SLA 評(píng)分處理的最小單元,是一個(gè)時(shí)間窗口內(nèi) SLI 累積成功數(shù)的目標(biāo)。而我們又經(jīng)常把 SLO 轉(zhuǎn)化為錯(cuò)誤預(yù)算,用于計(jì)算可容忍的錯(cuò)誤數(shù),在每一個(gè)檢測(cè)周期內(nèi)出現(xiàn)異常事件的時(shí)間將在可容錯(cuò)時(shí)長(zhǎng)中扣除。如下圖:假設(shè) SLO 檢測(cè)周期為 5 分鐘,根據(jù)疊加后,異常事件覆蓋時(shí)間為 3 分鐘,扣除額度 3 分鐘。
許多組織會(huì)借助 SLO 來(lái)評(píng)估產(chǎn)品可靠性。SLO 為定義應(yīng)用程序性能的明確目標(biāo)提供了一個(gè)框架,幫助團(tuán)隊(duì)提供一致的客戶體驗(yàn),平衡功能開(kāi)發(fā)與平臺(tái)穩(wěn)定性,并改善與內(nèi)部和外部用戶的溝通。SLO 還有助于分離業(yè)務(wù)關(guān)注點(diǎn),明確邊界,合理化不同團(tuán)隊(duì)的期望。盡管 SLO 是確??煽啃缘墓ぞ撸珒H靠簡(jiǎn)單設(shè)置 SLO 目標(biāo)不能達(dá)到這樣的效果?;诮M織當(dāng)前能力制定符合實(shí)際的 SLO 會(huì)更有助于實(shí)現(xiàn)組織目標(biāo),設(shè)定超出能力的 SLO 可能適得其反。
SLO 可幫助確定問(wèn)題的嚴(yán)重程度。如果可用性低于設(shè)定的 SLO,應(yīng)通知工程師盡快響應(yīng)。此外,SLO 可幫助明確劃分服務(wù)的清晰邊界,從而團(tuán)隊(duì)能確定需要維護(hù)哪些基礎(chǔ)設(shè)施以及通知哪個(gè)團(tuán)隊(duì)解決問(wèn)題。最后,基于滿足 SLO 的情況,SLO 可輔助指導(dǎo)制定業(yè)務(wù)優(yōu)先事項(xiàng)。
在制定服務(wù)水平目標(biāo)(SLO)時(shí),要明確組織中的利益相關(guān)者會(huì)有不同的優(yōu)先事項(xiàng),由此產(chǎn)生不同的目標(biāo)。從技術(shù)角度來(lái)看,Dev&Ops 需確保 SLO 可衡量且可行。如果任何 SLO 之間存在沖突或達(dá)到某個(gè) SLO 會(huì)帶來(lái)高成本,需及時(shí)提供預(yù)警。業(yè)務(wù)部門可與 Dev&Ops 合作,從而更好了解做出業(yè)務(wù)目標(biāo)的取舍,并確定這些取舍如何有益于組織。例如,完成一款功能的設(shè)計(jì)后,可以決定設(shè)置較低的 SLO 以加快開(kāi)發(fā)和發(fā)布功能的速度。
需要注意的是,各利益相關(guān)者的核心事項(xiàng)通常存在重疊,而非相互排斥。業(yè)務(wù)和技術(shù)團(tuán)隊(duì)之間的有效協(xié)作和一致性非常重要,這樣才能充分發(fā)揮 SLO 的潛力。例如,CSM 了解客戶的期望并確定他們最關(guān)心的事項(xiàng),而工程師則可制定實(shí)現(xiàn)期望的最具實(shí)際性路徑。
SLI(Service Level Indicator),也就是測(cè)量指標(biāo),即選擇用于衡量系統(tǒng)穩(wěn)定性的指標(biāo)。SLO 為 SLI 設(shè)定了精確的目標(biāo)。在觀測(cè)云,我們基于監(jiān)控器(《智能監(jiān)控,高效觀測(cè) IT 系統(tǒng)瓶頸》)設(shè)定一個(gè)或多個(gè)測(cè)量指標(biāo)。在觀測(cè)云管理 SLO,以監(jiān)控器的正常運(yùn)行時(shí)間作為唯一衡量指標(biāo),我們就可以無(wú)縫訪問(wèn)監(jiān)控?cái)?shù)據(jù)。此時(shí),我們可以把 SLI 理解為服務(wù)表現(xiàn)良好(即監(jiān)控器未檢測(cè)到異常事件)的時(shí)間比例。
例如,如果我們想確保用戶請(qǐng)求得到快速響應(yīng),可以使用來(lái)自 APM 的服務(wù)中位數(shù)延遲作為 SLI。然后,在 SLO 中設(shè)置每分鐘計(jì)算的所有用戶請(qǐng)求的中位數(shù)延遲在任何時(shí)間段內(nèi) 99% 的時(shí)間內(nèi)都小于 250 毫秒。此時(shí),為了準(zhǔn)確追蹤實(shí)際性能與我們?cè)O(shè)定的目標(biāo)的比較情況,我們不僅需要監(jiān)控實(shí)時(shí)性能(例如,每 60 秒計(jì)算一次中位數(shù)延遲并與250毫秒閾值進(jìn)行比較),還要衡量該閾值在更長(zhǎng)時(shí)間跨度上被超過(guò)的頻率(以確保在每個(gè)時(shí)間段內(nèi)都滿足 99% 的目標(biāo))。觀測(cè)云會(huì)跟蹤我們的 SLI 并將其狀態(tài)與我們?cè)O(shè)定的 SLO 進(jìn)行可視化,因此我們可以立即看到實(shí)際性能與給定時(shí)間段內(nèi)的目標(biāo)的比較情況。
在使用 SLO 的實(shí)踐過(guò)程中,如下圖所示,輸入 SLO 任務(wù)名稱后,首先需設(shè)定兩個(gè)目標(biāo),即目標(biāo)和最低目標(biāo)。
目標(biāo):當(dāng) SLO 百分比 < 目標(biāo)百分比,且 >= 最低目標(biāo)百分比時(shí),被認(rèn)定為不健康 SLA;最低目標(biāo):當(dāng) SLO 百分比 < 最低目標(biāo)百分比時(shí),被認(rèn)定為不達(dá)標(biāo) SLA。其次,選擇一個(gè)最符合當(dāng)下所需場(chǎng)景的 SLI。有一句話十分重要:所有 SLIs 都是衡量指標(biāo),但不是所有衡量指標(biāo)都是好的 SLIs。因此,面對(duì)我們工作空間內(nèi)的諸多衡量指標(biāo),我們應(yīng)首先選擇最能捕捉當(dāng)下場(chǎng)景體驗(yàn)的指標(biāo)。
另外,選擇需要發(fā)送異常通知的對(duì)象(包含空間成員、郵件組、企業(yè)微信機(jī)器人、釘釘機(jī)器人、飛書機(jī)器人、短信等);設(shè)置重復(fù)告警通知,從而減少告警通知頻率,避免受到異常通知的不必要干擾;設(shè)定好檢測(cè)頻率(目前支持 5分鐘、10分鐘兩種),從而以一定時(shí)間范圍為周期,監(jiān)測(cè) SLO 任務(wù)中監(jiān)控器是否出現(xiàn)異常事件。
新建完任務(wù)后,在 SLO 列表進(jìn)一步分析 SLO 任務(wù)達(dá)標(biāo)率、目標(biāo)服務(wù)水平等之前離不開(kāi)以下概念:
字段
說(shuō)明
監(jiān)控器
SLI 關(guān)聯(lián)的監(jiān)控器數(shù)量,即測(cè)量服務(wù)性能的指標(biāo)。
達(dá)標(biāo)率
在給定考核周期內(nèi)滿足系統(tǒng)無(wú)異常時(shí)間占總時(shí)長(zhǎng)的百分比(達(dá)標(biāo)率=系統(tǒng)無(wú)異常時(shí)間/考核周期 * 100%):
當(dāng)最低目標(biāo)百分比 =< 百分比 < 目標(biāo)百分比時(shí),被認(rèn)定為不健康 SLA,顯示為黃色達(dá)標(biāo)率;當(dāng)百分比 < 最低目標(biāo)百分比時(shí),被認(rèn)定為不達(dá)標(biāo) SLA,顯示為紅色達(dá)標(biāo)率。故障時(shí)間
即監(jiān)控器異常的時(shí)間/已用額度。
剩余額度
當(dāng)前 SLO 還剩余的可容錯(cuò)時(shí)長(zhǎng)(假設(shè)目標(biāo) SLO 設(shè)定為 95%,即存在 5% 的容錯(cuò)率,默認(rèn)最近 7 天為周期,即默認(rèn)剩余額度=7天 *5% = 21分鐘),顯示為:
綠色:剩余的可容錯(cuò)時(shí)長(zhǎng) >= 0;紅色:剩余的可容錯(cuò)時(shí)長(zhǎng) < 0。目標(biāo)
創(chuàng)建 SLO 任務(wù)時(shí)設(shè)定的,服務(wù)可用性的目標(biāo)百分比。
點(diǎn)擊單條 SLO 任務(wù)進(jìn)入其詳情頁(yè),我們就可以觀測(cè)到當(dāng)前 SLO 的達(dá)標(biāo)率、剩余額度及 SLI 異常記錄:
字段
說(shuō)明
過(guò)去 7 天 SLA
根據(jù)當(dāng)前訪問(wèn)的時(shí)間獲取近 7 天的達(dá)標(biāo)率。
全年 SLA
根據(jù)當(dāng)前訪問(wèn)的時(shí)間獲取今年(自然年)的達(dá)標(biāo)率。
近一年 SLA
根據(jù)當(dāng)前訪問(wèn)的時(shí)間獲取最近 1 年(自然年)的達(dá)標(biāo)率。
SLI 異常記錄
基于當(dāng)前 SLO 任務(wù)下的監(jiān)控器所觸發(fā)的異常事件。
當(dāng)組織內(nèi)多個(gè)團(tuán)隊(duì)實(shí)施不同的 SLO 任務(wù),那么將 SLO 的任務(wù)狀態(tài)可視化能進(jìn)一步幫助各團(tuán)隊(duì)設(shè)置任務(wù)優(yōu)先級(jí)、解決問(wèn)題。借助應(yīng)用到儀表板的可視化辦法,我們可以以一種更加全方位的方式與任何利益相關(guān)者共享這些 SLO 的實(shí)時(shí)狀態(tài)。如下圖,我們將該條 SLO 任務(wù)直接導(dǎo)出到儀表板。在儀表板內(nèi),我們可以看到 SLO 的狀態(tài)、故障時(shí)間、錯(cuò)誤預(yù)算、全年 SLA 等關(guān)鍵信息。
協(xié)作和溝通對(duì)于成功實(shí)施服務(wù)水平目標(biāo)至關(guān)重要。開(kāi)發(fā)和運(yùn)營(yíng)團(tuán)隊(duì)需要評(píng)估他們的工作對(duì)于已建立的服務(wù)可靠性目標(biāo)的影響,以改善最終用戶的體驗(yàn)。觀測(cè)云通過(guò)使組織借助統(tǒng)一入口方跟蹤、管理和監(jiān)控其所有 SLO 的狀態(tài)和錯(cuò)誤預(yù)算,簡(jiǎn)化了跨團(tuán)隊(duì)協(xié)作的繁瑣流程。團(tuán)隊(duì)可以在儀表板上將其SLO 與相關(guān)服務(wù)和基礎(chǔ)架構(gòu)組件可視化,并與依賴于它們的任何利益相關(guān)者共享這些 SLO 的實(shí)時(shí)狀態(tài)。
24小時(shí)免費(fèi)咨詢
請(qǐng)輸入您的聯(lián)系電話,座機(jī)請(qǐng)加區(qū)號(hào)