避免警報疲勞:為Kubernetes工程團隊提供的八條建議
譯文【51CTO.com快譯】監(jiān)控Kubernetes集群并不容易,而時常發(fā)出的警報通常是一個令人煩惱的問題。Kubernetes工程團隊需要了解如何減少警報疲勞。
如果你是Kubernetes工程團隊的一員,可能知道什么是警報以及它對工作和生活有何影響。而當(dāng)涉及到Kubernetes時,其警報的數(shù)量將會迅速增長。本文將介紹一些引起警報疲勞的常見原因,并提供有助于減少這種疲勞的技巧和建議。
什么是警報疲勞?
簡單來說,當(dāng)你在一天內(nèi)收到大量與工作相關(guān)的警報時,就會發(fā)生警報疲勞。無關(guān)的大量警報會降低你的工作效率,因為你需要在工作中抽出大量時間以確認和處理警報。
如果你在下班之后也收到此類警報,那么將會影響日常生活。為了建立一個高效和快樂的Kubernetes團隊,關(guān)鍵是要減少不必要的警報,并專注于提供具有價值和可操作的內(nèi)容。
如何減少警報疲勞
以下討論一些實用的技巧和建議,以減輕Kubernetes團隊成員面臨的警報疲勞。
提示1:明確定義指標和閾值
解決任何問題的第一步是明確定義。在這個例子中,警報的原因是指標中的閾值。因此,為其確定正確的指標和適當(dāng)?shù)拈撝抵陵P(guān)重要。對于基于Kubernetes的項目,需要超越標準的指標集。你應(yīng)該監(jiān)控Pod的生命周期以及節(jié)點和集群的單個資源消耗,以保持對系統(tǒng)的控制。
當(dāng)涉及到標準指標時,應(yīng)該設(shè)置額外的閾值和警報,以了解何時出現(xiàn)異常行為。例如,你可以設(shè)置多個磁盤使用警告警報,并根據(jù)嚴重性對它們進行分類,以了解何時介入,并檢查其系統(tǒng)是否存在問題。同樣,也可以使用其他指標進行設(shè)置,例如CPU消耗、內(nèi)存消耗等。
提示2:定義警報層次結(jié)構(gòu)并根據(jù)嚴重性確定優(yōu)先級
從大量數(shù)據(jù)中獲取有用信息的最佳方法之一是對警報進行組織。同樣,應(yīng)該將警報進行分類,并根據(jù)類別修改發(fā)送警報的行為。
首先,你可以根據(jù)系統(tǒng)事件對正常運行時間的影響,將其分為嚴重事件、警告事件和異常事件。然后,你可以將警報工具配置為僅針對關(guān)鍵事件發(fā)送警報。這樣,你將減少團隊收到的警報數(shù)量,并且每個警報都要求他們采取行動,而不是簡單地予以確認。你還可以為每個事件類別分配給不同的團隊,以密切關(guān)注系統(tǒng)。
提示3:將類似的警報分組在一起
雖然對警報進行分類有助于分組,但它仍然不能解決一個主要問題:重復(fù)。你可能會收到系統(tǒng)中重復(fù)事件的警報。或者可能會收到已解決問題的重復(fù)警報,因為警報工具不夠智能。唯一的解決方案是采用更加智能的監(jiān)控解決方案,該解決方案可跨團隊和成員可靠地同步發(fā)布警報。
對于源自重復(fù)事件的重復(fù)警報,還可以考慮應(yīng)用過濾器和規(guī)則將類似的警報組合在一起。可以依靠事件提供的信息來確定它們是否重復(fù)發(fā)生。通過這種方式,可以針對許多類似問題發(fā)送較少的警報,并且Kubernetes團隊成員可以在需要時通過監(jiān)控平臺訪問所有其他警報。
提示4:盡可能多地收集有關(guān)警報的場景數(shù)據(jù)
要增強警報分類和聚合,需要收集大量數(shù)據(jù)。因此,應(yīng)該盡力收集有關(guān)系統(tǒng)中發(fā)生的事件的盡可能多的信息。這些信息將幫助區(qū)分重復(fù)事件,并幫助確定類似事件是否需要特別關(guān)注。除了提高警報策略的質(zhì)量之外,它還可以在以后解決問題時提供幫助。
提示5:在團隊中定義明確的角色并相應(yīng)地直接發(fā)出警報
只有在對團隊進行同樣操作時,對警報進行分類才有效。每當(dāng)IT基礎(chǔ)設(shè)施遇到警告時,向Kubernetes團隊發(fā)送警報是沒有意義的。因此需要設(shè)計一個事件管理層次結(jié)構(gòu),并使警報工具與其保持一致,以邏輯地上報問題。
如上所述,你可以將錯誤類別與團隊相匹配,或者根據(jù)錯誤來源的基礎(chǔ)設(shè)施將錯誤與團隊相匹配。這樣才能找出最適合特定用例的層次結(jié)構(gòu)。
提示6:與無關(guān)的警報來源斷開連接
這適用于每個人,并且所有團隊成員都應(yīng)該遵循。團隊在多個項目上工作,其中一些項目被轉(zhuǎn)移到另一個團隊或完全退役,這是很自然的。但是,這些項目的警報訂閱可能沒有及時更新,從而導(dǎo)致不時向你發(fā)送不相關(guān)的警報。因此需要確保取消訂閱,以減少警報噪音。
在仍然分配給你的項目的情況下,可能存在分配給其他團隊成員的問題,但正在向整個團隊發(fā)送警報。為了整理你的提醒收件箱,最好也盡快取消訂閱。
提示7:禁止在工作時間以外發(fā)出非緊急警報
警報疲勞不只發(fā)生在工作時間,而在業(yè)余時間發(fā)布警報會讓你感到沮喪。在理想情況下,Kubernetes團隊?wèi)?yīng)該選擇一種警報工具,該工具允許在設(shè)定的持續(xù)時間內(nèi)抑制和推遲警報。如果該工具可以根據(jù)警報分類(發(fā)送關(guān)鍵警報并推遲其他警報)實現(xiàn)這一點會更好。這將幫助你在工作時間之外保持健康的生活方式。
如果抑制警報對你來說太過困難,可以考慮將其委托給在你不在時值班的另一名團隊成員。而很多成員正在全天候監(jiān)視系統(tǒng)運行狀況。將警報轉(zhuǎn)移給值班的成員,可以幫助其他人在他們不工作時放松。
提示8:在重大中斷時,取消所有警報以專注于恢復(fù)
如果你已經(jīng)正確地完成了大部分工作,并且警報的設(shè)置是正確的,那么可以考慮在恢復(fù)主要中斷時取消所有警報。在重大事件中,許多基礎(chǔ)設(shè)施組件可能會出現(xiàn)故障,并立即向你發(fā)送大量警報。一旦你確定了中斷的原因,就應(yīng)該取消其他所有警報,并集中精力解決中斷問題。
但是,你仍然有可能錯過停機期間發(fā)生的其他重要警報。因此,最好將警報轉(zhuǎn)發(fā)給其他沒有與你一起處理故障的團隊成員。
結(jié)語
警報疲勞是真實存在的,如果不及時檢查,它會影響你的健康和工作效率。因此,你應(yīng)該選擇一種工具,以減少不必要的警報噪音,同時讓你了解應(yīng)用程序的最新重要更新。將有效的工具與有效的警報策略相結(jié)合,將提高團隊的工作效率,同時保持身體健康。
原文連接:Avoiding Alert Fatigue: 8 Tips for Every K8s Engineering Team,作者:Nate Matherson
【51CTO譯稿,合作站點轉(zhuǎn)載請注明原文譯者和出處為51CTO.com】