概述
在之前的告警中,如果想要發送通知給某個用戶,那麼需要配置該用戶的手機號或者郵箱。如果有多個告警都需要發送給同一個用戶,就需要多次配置手機號和郵箱。假如告警要發給多個人,那麼就要配置多個用戶的手機號和郵箱。這就存在著以下痛點:
- 單個用戶的手機號和郵箱無法複用,需要多次配置
- 無法批量配置用戶的手機號和郵箱,需要配置許多個
- 如果要修改某個人的聯繫方式,或者調整一個通知群組的成員,就要多次修改,非常麻煩
基於以上痛點,在新版本的告警中,加入了用戶和用戶組的管理,並且在此基礎上添加了值班組,從而可以:
- 複用某個用戶的聯繫方式
- 配置用戶組,可以快速配置一組接收人
- 用戶組內成員的變更,只需要修改用戶組即可
- 值班組可以很好地解決用戶的排班問題,避免通知永遠發給所有的人
- ……
用戶管理
用戶管理主要為了解決用戶聯繫方式複用的問題,並且支持了快速禁用的功能。用戶配置的表單參考如下:
其中:
- 可以配置用戶的手機號,並且支持國際號碼
- 可以配置用戶的郵箱,一個用戶可以配置多個郵箱
- 可以快速禁用用戶,被禁用的用戶無法收到通知
- 可以只禁用該用戶的短信或者語音,一旦禁止後,該用戶不會收到短信或者語音通知
用戶組管理
用戶組管理解決的主要是通知配置一組用戶的問題。通過創建用戶組,可以在通知配置的時候,選擇該用戶組。那麼之後該組內的用戶變動就會自動生效,無需額外的通知相關配置。用戶組配置的表單參考如下:
這裡可以快速添加或者刪除成員,同時也支持快速禁用一個用戶組,用戶組一旦被禁用,則該用戶組內的成員都不會被通知到。
值班組管理
通知到用戶和用戶組是一個非常基本的需求,但是還有一些相對高級的場景,需要不同時間通知到不同的用戶,也就是值班功能。舉例來說,某個服務的運維負責人有兩個(用戶A和用戶B),他們需要每天輪流值班,那麼就可以通過創建一個值班組,從而實現今天通知發送給用戶A,明天發送給用戶B,依次交替。
輪崗值班
在值班組中,最核心的概念就是輪崗。輪崗解決的本質問題是:哪些人在哪個時間範圍內,以什麼方式來值班。輪崗包含的內容有:
- 開始時間和結束時間(例如今年的6月1號到10月31號)
- 值班的限制(例如非工作時間不用值班)
- 值班對象(例如用戶A和用戶B)
- 輪崗類型(例如以天為週期,還是以周為週期)
- 交班時間(多久換下一個人,例如每一天換一次)
上面是一個示例,它表示的是:
- 從2021年6月1號開始,一直到2021年6月30號結束
- 每個工作日都要有人值班(非工作如需值班)
- 張三和李四兩個人輪流值班
- 每一天換一個人
那麼最終的效果就是:
可以看到,只有工作日需要有人值班,並且每個人值班都是完整的一天。
當然,上面只是一個非常簡單的例子,實際場景中,輪崗對象可能是多個用戶,也可能是用戶和用戶組(用戶組作為一個整體來進行排班)。並且輪崗的類型以及換班的類型也支持多種,可以非常靈活地配置,以滿足實際的使用場景。
代班
代班用來進行用戶之間的相互替代。比如用戶A在某一天需要值班,但是這天他請假了,因此需要設置一個代理人來代替他值班。代班解決的本質問題是:哪個人替代哪些人,在哪個時間範圍內,以什麼樣的方式來替代。代班包含的內容有:
- “執行對象”和“對象”(“執行對象”會替代“對象”)
- 開始時間和結束時間
- 代班限制(例如只需要工作時間代班)
例如上圖的例子,我們設置2021年6月3號這一天,李四代替張三值班,並且是全天替代,那麼可以看到最終的值班效果就變成:
也就是說,6月3號本來應該是張三值班的,但是現在變成了李四。假如我們修改一下代班的限制,改為只有工作時間替代:
那麼最終的排班結果如下:
可以看到,只有工作時間,李四才需要替代張三值班,非工作時間還是張三在值班。
關聯日曆
由於值班的配置中涉及到時間範圍、工作日與非工作日、工作時間與非工作時間等信息,而這些信息又是和日曆相關的,因此每個值班組都會關聯一個日曆。可以是默認的全局日曆,也可以為每個值班組新建一個日曆。相關配置如下:
如果自定義日曆的話,那麼可以設定該日曆的時區、工作日、工作時間以及節假日相關配置。例如:
如果配置了自定義日曆,那麼該日曆只對該值班組生效。
進一步參考
瞭解更多的信息,可以參考 SLS 的官方文檔:
對我們工作感興趣的,可以通過如下方式瞭解更多,謝謝關注!
- SLS首頁:https://www.aliyun.com/product/sls
- 知乎:https://zhuanlan.zhihu.com/aliyunlog
- 微信公眾號:日誌服務 or LogAnalytics
- 嗶哩嗶哩:https://space.bilibili.com/630680534