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