如何理解監(jiān)測應(yīng)用程序的SLO
譯文【51CTO.com快譯】想適當?shù)毓芾砗捅O(jiān)測應(yīng)用程序,您需要一個目標來定義您所處的位置以及工作做得如何,以便您可以不斷調(diào)整和改進。這個參考點名為服務(wù)級別目標(SLO)?;〞r間定義明確的SLO將使服務(wù)所有者以及依賴您服務(wù)的內(nèi)外用戶的日子過得更輕松。
然而在定義SLO之前,您需要一個客觀的量化指標,以便查看它以確定應(yīng)用程序的性能或可靠性。這類指標就叫服務(wù)級別指標(SLI)。
服務(wù)級別指標(SLI)
要確定應(yīng)使用什么指標用于SLI,一個好方法是從應(yīng)用程序性能方面考慮什么直接影響用戶的滿意度。這可能包括應(yīng)用程序的延遲、可用性和準確性等方面。另一方面,CPU利用率將是糟糕的SLI,因為您的用戶并不真正關(guān)心服務(wù)器CPU在如何運行,只要它不影響您使用應(yīng)用程序的體驗。
此外,您選擇的SLI將取決于您所運行的應(yīng)用程序類型。若是典型的請求/響應(yīng)類型的應(yīng)用程序,您可能會關(guān)注可用性、請求延遲和每秒成功請求的容量。您可能會查看用于數(shù)據(jù)存儲的數(shù)據(jù)的可用性和一致性。若是數(shù)據(jù)管道,您的SLI可能是否返回預(yù)期的數(shù)據(jù)以及處理數(shù)據(jù)需要多長時間,尤其是在最終一致性模型中。
服務(wù)級別目標(SLO)
SLO是在一段時間內(nèi)為SLI測量的性能閾值。這是衡量SLI以確定性能是否符合預(yù)期的標準。良好的SLO將定義您應(yīng)用程序所需的性能級別,但不會高于必要級別。這是一個關(guān)鍵點,需要隨著時間的推移進行一番測試。如果您的用戶對99%的可用性感到滿意,就沒有理由投入大量的資金以達到99.999%的可用性。
延遲的一些示例SLO可能是第95個百分位的延遲,它會告訴您用戶發(fā)出的最慢5%請求的延遲。這比可能很容易因異常值而偏離的簡單延遲平均值要好得多。
提供更細粒度的另一種選擇是測量請求總數(shù)和超過合理閾值(比如1秒)的請求數(shù)。超過基準線的請求百分比將有助于確定您的用戶不耐煩地等待數(shù)據(jù)返回、頁面呈現(xiàn)或操作完成有多頻繁。
一旦確定了實際的性能目標,您需要確定用于衡量的時間段。SLO的兩個常見時間段是基于日歷的度量,從一個設(shè)定的日期到另一個日期(比如一個月的開始和末尾)。另一種是滾動窗口,從當前日期回溯設(shè)定的天數(shù)。
服務(wù)級別協(xié)議(SLA)
服務(wù)級別協(xié)議(SLA)就是SLO,包含服務(wù)提供商和客戶之間的附加協(xié)議,如果SLO未得到滿足,就明確某種形式的后果。這通常出現(xiàn)在供應(yīng)商和客戶這兩個不同的企業(yè)之間,違反SLA會面臨經(jīng)濟后果。SLA也可以在公司內(nèi)部使用,某些服務(wù)可能依賴由不同團隊控制的其他服務(wù),以便產(chǎn)品正常運行。
為何使用SLO?
您已對什么是服務(wù)級別目標有了清楚的了解,可能想知道為什么要花時間來創(chuàng)建和使用SLO。最明顯的原因是,花時間弄清楚在性能方面真正重要的東西可以為您的團隊大大簡化工作,并在整個公司清楚地傳達標準。您可以通過多種不同的方式來跟蹤應(yīng)用程序生成的指標,但如果您將其分解為什么對用戶有明顯的影響,就可以消除許多干擾和雜音。
在InfluxData,我們專注于時間序列數(shù)據(jù)。因此,我們擁有涵蓋我們系統(tǒng)各方面的大量數(shù)據(jù)。雖然高度細化的指標有運營價值,但這些指標并不能很好地反映客戶體驗,肯定讓服務(wù)所有者想要更多。因此,我們采取了檢查每個微服務(wù)及使用者的方法,并確立合理的成功標準和可實現(xiàn)的目標。
由此得到的結(jié)果是我們可以應(yīng)用于整個車隊的一致測量,深入了解可用性和錯誤率,這充當客戶體驗的代理。這不僅有利于服務(wù)所有者,作為實現(xiàn)卓越運營和告知錯誤預(yù)算的一種手段,還便于深入了解我們在公司各層面的工程組織。
這些是我們運營的服務(wù)底層的儀表板背后的目標。您會看到很容易一目了然,提供了可用于警報和錯誤預(yù)算的實用指標,并表明該服務(wù)的目標是達到99.9%的可用性。通過在整個公司提供這些數(shù)據(jù),我們可以加快服務(wù)的交付。反過來,這為在我們的平臺上開發(fā)應(yīng)用程序的客戶帶來了高速的“精彩時間”。
需要注意的重要一點是,SLO不必在首次實現(xiàn)時就完美無缺。SLO始終在不斷完善中,隨著您獲得更多的數(shù)據(jù),了解有關(guān)用戶需求和期望的更多信息,可進行迭代。切記:實施SLO最重要的方面是監(jiān)測應(yīng)用程序方面的總體觀念發(fā)生轉(zhuǎn)變。
原文標題:Understanding SLOs for monitoring applications,作者:Tim Yocum
【51CTO譯稿,合作站點轉(zhuǎn)載請注明原文譯者和出處為51CTO.com】
















 
 
 




 
 
 
 