本文介紹如何通過ChatOps處理告警。
背景信息
ChatOps是一種集成了聊天和自動化工具的協作方法和文化,旨在提高團隊的協作效率和可見性。ChatOps可以讓團隊成員在一個聊天平臺上進行交流,同時可以使用自動化工具完成任務,例如自動化構建、部署和監控等。ChatOps的目標是提高工作流程的效率和可見性,并促進團隊成員之間的協作和溝通。
告警處理痛點-信息孤島
在告警處理過程中,決策者通常需要在多個上下游系統查看原因,并與多個不同的角色協同確定修復方案。隨著系統的復雜性增加,所需獲取和交流的信息也變得更加復雜。如果沒有高效的信息獲取和交流機制,就會導致信息孤島的形成。這種情況下,協同和溝通的效率將會更多地影響到告警的處理效率。因此,采用高效的協同和溝通方式,將不同角色的信息集合到一個系統中,并提供實時、準確的上下文信息,是提高告警處理效率的關鍵。
使用ChatOps打破信息孤島
ChatOps能夠解決告警處理時信息孤島問題是因為它將所有關鍵信息和協作工具集成到一個平臺中,使得運維人員可以通過聊天獲取所有的信息和上下文,同時在同一個聊天平臺上與其他人實時協作和溝通。這種方式可以將不同角色的信息和知識匯集到同一個平臺上,避免了信息孤島的問題。在處理告警時,運維人員可以方便地查看歷史記錄、相關的文檔和資源、監控數據等,同時實時協作和溝通,從而更快地解決問題。因此,ChatOps是解決告警處理時信息孤島問題的最佳方式之一。
集中管理:使用ChatOps,可以將所有的工具和系統集成到一個聊天平臺上,從而將信息集中管理。這使得運維人員可以通過一個渠道獲得所有的信息,無需在不同的工具和系統之間切換。
實時協作:使用ChatOps,運維人員可以在同一個聊天平臺上與其他人實時協作和溝通。這樣,即使不同的團隊、部門或地區之間存在信息孤島,也可以通過ChatOps將它們聯系起來。
信息共享:使用ChatOps,運維人員可以將信息共享到一個公共的頻道中,而不是僅僅限于某個團隊或部門。這使得其他人可以及時了解到所有的信息,從而更好地協調和合作。
自動化流程:使用ChatOps,可以自動化一些流程,例如部署、測試和監控等。這樣,就可以避免手動處理過程中的信息孤島和錯誤,從而提高效率和準確性。
ARMS告警管理如何助力企業通過ChatOps來處理告警
互聯網時代,即時通訊IM(Instant Messaging)技術的發展使得OA(Office Automation)系統有了新的突破,移動辦公、云計算等新技術也逐漸應用到OA中。在當今的中國市場中絕大多數的企業、單位都使用了以釘釘為代表的第三代OA系統。移動辦公已經成為新的潮流和趨勢。
在中國移動辦公市場釘釘、企業微信、飛書加起來占有率已經超過90%,只要支持在這些系統中處理告警,就可以支持絕大多數的中國市場用戶。并且可以讓告警處理與企業已經搭建在這些IM上的其他系統進行有機融合。
多端一體
ARMS開發一個H5應用,通過與釘釘、企業微信、飛書打通SSO登錄流程,在不同的IM軟件提供的Web容器內實現了告警處理流程的統一。
可以在不同的操作系統和設備上運行,包括PC端、移動設備、智能終端等等。
H5應用采用統一的接口和數據格式,保證不同設備和平臺之間的數據傳輸和處理的一致性和兼容性。
支持在H5中展示告警對應的指標數據,提供圖文并茂的告警信息。具體請參見在Prometheus告警通知中配置指標走勢圖。
不同IM系統的接入方式請參見如下文檔:
處理人歸一化處理
ARMS通過手機號碼實現不同平臺、不同系統間同一個處理人的互相關聯。避免不同系統之間出現數據不流通造成新的數據孤島。
在釘釘、企業微信、飛書中通過手機號碼注冊過的處理人會自動同步到ARMS告警管理后臺中作為告警聯系人,避免聯系人多次重復創建。
群聊
ARMS支持配置釘釘、企業微信、飛書的群聊機器人作為告警的通知對象。通過發送統一的Markdown格式的告警卡片,實現在不同平臺上一致的告警信息展示。
通過群實現自動權限控制,群聊中的用戶自動獲取到對應的告警的查看和處理權限,非群聊中的用戶則沒有相關權限,所見即所得。
告警處理過程中的關鍵信息自動發送到群聊會話中,實時同步告警處理狀態。具體請參見在告警通知群中處理告警。
告警處理
當告警以卡片的形式發送到IM群聊中,可以通過訂正卡片的樣式來添加一組操作進行告警的處理。如下圖所示。
處理操作 | 含義 | 圖示 | 使用說明 |
認領告警 | 接手告警,單擊認領告警后系統會在群聊中發送一個認領的通知。 | 通過認領告警的消息廣播可以讓群成員之間明確地知道當前告警是誰在處理。同時您還可以通過使用升級策略來實現告警長時間內無人認領就升級通知的需求。 | |
解決告警 | 關閉告警,單擊關閉告警后系統會在群聊中發送一個告警關閉的通知。被關閉的告警狀態會變成已恢復。 | 通過認領告警的消息廣播可以讓群成員之間明確地知道當前告警已經處理了以及當前告警的處理方式。同時您還可以通過使用升級策略來實現告警長時間內未解決就升級通知的需求。 | |
屏蔽告警 | 屏蔽告警通知,一段時間內不再發送告警通知。 | 有些告警觸發屬于預期內的行為,且不會造成業務影響,但是又不能直接關閉告警。這種情況下可以通過屏蔽告警來降低告警通知的打擾。 | |
屏蔽此類告警 | 根據對應的條件(可編輯)設置靜默規則,被靜默規則匹配到的事件在靜默時間內不會產生告警通知。 | 當一個告警中包含多條事件,比如Pod CPU使用率告警中包含了prod, test兩個命名空間的Pod產生的告警。但是test命名空間產生的告警不需要通知。這個時候可以通過單擊test命名空間告警內容后面的屏蔽此類告警鏈接對test命名空間產生的告警進行靜默處理。 | |
補充解決方案 | 給告警添加解決方案描述。 | 用于沉淀告警處理的知識庫。 | |
推送告警 | 將告警手動推送到一個通知集成中,如Jira。 | 將告警推送到如Jira這類工單系統。具體請參見集成概述。 | |
關注告警 | 關注一個告警后,會將這個告警的狀態變更以短信的形式推送給關注人。 | 關注告警后,會將被關注告警的狀態變更以短信的形式推送給關注人。在h5應用中的關注標簽頁可以看到被關注的告警。 |
統計數據報表
在不同端側進行的告警處理操作自動記錄到數據分析系統,通過與Prometheus、Grafana等工具集成。自動生成告警處理報表,可以作為提高告警處理效率的抓手。具體請參見通過ARMS告警大盤提高告警處理效率。