【編者按】本文做者爲 Chris Riley,主要介紹告警疲勞的產生緣由與對抗告警疲勞的8種方法。文章系國內 ITOM 管理平臺 OneAPM 編譯呈現。html
各司其職、孤軍做戰很是不利於團隊溝通,一旦發生重大事件,各個部門就很難掌握事件始末,這不只下降了整個開發團隊的溝通質量,並且對運維工做也形成了極大困擾,即告警疲勞。告警疲勞不只會影響團隊成員的工做情緒,並且會阻礙軟件交付鏈的成長。併發
DevOps 的最大優點是清除溝通障礙並簡化運維操做。一般,DevOps 團隊有兩種類別:一種是面向全部應用程序的集中式團隊,另外一種是面向每一個應用程序或核心服務的去中心化團隊。前者規模較大,可是比傳統的NOC環境要小,然後者則是很小的團隊。運維
DevOps 團隊除了負責維護基礎設施之外,有時還要管理髮布過程,以及維持生產的正常運行。而最後這項工做是最傷腦經也最耗時的,一旦處理有誤就會影響到整個環境。雖然沒有人願意值班待命,但咱們仍是得這樣作,由於平均修復時間(MTTR)越短,問題響應越迅速,接下來的幾天甚至幾周裏,你們的日子都會好過些——最重要的是它能維持業務的正常運轉。工具
可是,一旦值班開始影響到團隊情緒並佔據運維團隊大量的時間,就可能招致巨大的風險——集中式團隊和去中心化團隊很容易產生告警疲勞。集中式團隊的疲勞不只是要解決全部應用上的大量告警,並且還很難找到合適的人來解決問題,由於值班的人頗有可能無法解決告警的問題。至於去中心化團隊的告警疲勞,主要是因爲團隊過小而告警太多所致。性能
告警疲勞對DevOps和IT運維團隊的影響主要體如今四個方面:測試
士氣低落:若是大部分時間都用於解決問題,你不只要沒日沒夜地處理事件,並且所作的事情愈來愈無聊,感受天天就是滅不完的火,這樣很容易磨滅團隊的溝通熱情,致使工做效率下降。優化
單點故障:在集中式團隊中,MTTR 主要取決於運維人員經過一組很是有限的值班操做來響應問題並肯定根本緣由的速度。在去中心化團隊中,肯定根本問題的時間會有所增長,可是因爲掌握的信息不足,運維人員沒法準確地篩選問題並快速解決。再有就是,因爲呼叫列表過短,頗有可能根本沒法解決問題。所以,一旦有問題產生,這些因素都會形成運維瓶頸和單點故障。htm
機會成本:這是告警疲勞所形成的影響中最容易被忽略的一點——整個團隊和交付鏈所耗費的成本增長。若是你的 DevOps 團隊在告警過程當中不堪重負,他們就沒法完善和創新交付鏈,由於他們只會機械地響應,沒有精力去開發更好的版本、完善基礎設施的自動化過程或主動預防將來的問題。這不只阻礙了團隊進步,並且增長了技術成本,由於常常重複的問題並無真正獲得解決。blog
發佈速度延遲:解決問題所耗費的時間越長,發佈速度就越慢。仔細想一想大家團隊有多少次推遲了發佈時間?事件
應對告警疲勞最簡單的方式是擴大運維團隊,可是這未必是最好的選擇,由於有些狀況下咱們也確實須要小一點的DevOps團隊。
因此,建議你們在與告警疲勞做鬥爭時試試如下8個方法:
建立更好的升級策略:計劃!不要只是給團隊建立一個呼叫列表,你要考慮告警疲勞可能會對團隊資源和士氣形成哪些影響,而後再製定相應的計劃和策略,也許很小的變更就能帶來極大的幫助,好比打破循環。
安排 QA 和開發人員值班:這須要整個團隊全員上陣,雖然作起來很困難,可是若是你把 QA 團隊和開發人員安排到值班工做中,你得到的信息就更完善,解決問題的速度也更快。他們即使是與運維團隊的成員並行工做,其效果也可見一斑,由於更普遍的支持不只能夠提升生產問題的可見性,幫助開發人員解決應用程序的相關問題,並且還能夠增強了解,防患於未然。
進行詳細的事件分析:經過事件分析評估告警設置的效果可讓你隨時改進設置並發現當前存在的瓶頸。同時,數據還能夠指出重複性問題。總之,要充分發揮數據的指導性做用。
安排時間以終結重複性問題:分配必定的時間肯定以前快速修復的問題並完全解決,以確保未來再也不重複。可是要將問題及全部後續問題徹底消滅,這對運維團隊而言是個艱鉅的任務。
標準化通知規則:不要讓值班成員任意設置本身的規則,必定要將規則標準化或模板化,以保證一致性和問責制。
容許平行告警:除了垂直呼叫之外,還要有平行告警,這樣多個團隊成員就能夠共同攻克問題以縮短MTTR。
利用工具:事件管理工具對抵抗告警疲勞大有幫助。一個好的事件管理解決方案,例如 PagerDuty、OneAlert ,不只能夠幫助你自動處理告警並過濾告警噪音,以防止可有可無的告警形成太重的負擔;並且還能協助你找準告警以採起更加有效的值班操做。此後,要是在晚上出現告警,你就知道真的出了問題。
優化代碼:提升代碼質量能夠減小宕機。這其實很簡單,但又老是被忽略。因此,必定要花時間優化代碼、提升測試覆蓋率、完善系統測試和測試自動化,並將收穫和成果向全部成員展現。
以上這些方法均可以優化運維性能,而且受益面廣。總而言之,告警疲勞是確實存在的問題,它不只會影響 DevOps 和 ITOps 團隊的幸福感,並且會影響整個開發團隊創新和完善發佈代碼的能力。
本文系 OneAPM 工程師編譯整理。OneAlert 是 OneAPM 旗下產品,是國內第一個 SaaS 模式的雲告警平臺,集成國內外主流監控/支撐系統,實現一個平臺上集中處理全部 IT 事件,提高 IT 可靠性。想閱讀更多技術文章,請訪問 OneAPM 官方技術博客。
本文轉自 OneAPM 官方博客