您好,登錄后才能下訂單哦!
目前所面臨的問題
目前的報警系統(tǒng)只能簡單的把用戶分為為不同的組,然后每個報警分發(fā)至一個和多個組,有的機器或服務的報警并不是每個用戶都關心,太多的報警反而會降低警惕心失去報警的意義。
本來打算實現(xiàn)分組報警和發(fā)送報警至項目負責人兩個功能,以及用戶按照用戶意愿選擇想要的接受報警的服務等功能,不過作為一個沒正經寫過項目小菜同學,還是以做出東西為第一目標。所以此系統(tǒng)第一版只實現(xiàn)以項目負責人為目標的報警分發(fā)功能。
思考:每個人都希望自己的產品百分百的完美,但是世上并沒有完美的東西,大家都只是在向著完美的方向努力向前而已。
目前我們只能實現(xiàn)一個功能,不過以后慢慢加入其他的功能,為了以后其他功能加入的方便,我們應該盡可能的保證程序的可擴展性。
本程序會從接受一個報警信息開始的,每個報警信息經過此系統(tǒng)的分發(fā)會發(fā)送至不同的用戶。所以每個報警信息本身必須帶有標記,用于標記自己的屬性,比如屬于哪個負責人。要把每個報警信息和接收人對應起來,就必須有一個對于關系表,并且此對應關系存儲在某個介質上。為了方便起見,此處以文件的形式來存儲報警與接收人的對應關系,最后就是以指定的方式發(fā)送報警了。所以此系統(tǒng)主要流程有下面三個部分:
1. 報警輸入標記
2. 獲取報警
3. 獲取報警與接收人對應關系
4. 根據標記和對應關系發(fā)送報警
遇到沒標記的情況怎么辦:得有默認的發(fā)送方式及目標
用戶如何自定義標記:以配置的方式把標記的定義放入配置文件中
報警信息的輸入只能來自prometheus的alertmanager?
把報警信息的輸入設計成一個接口,此接口有一些方法,然后來自alertmanager的報警實現(xiàn)此接口,然后此信息就能被后續(xù)的方法獲取并處理。
第一版的關系來自于文件,后面的版本有可能來自數(shù)據庫或者其他存儲。所以此處“對應關系”的處理也是一個接口。后面所有的操作依賴此接口
第一版只實現(xiàn)釘釘?shù)陌l(fā)送報警,后面可能實現(xiàn)一些其他的發(fā)送方式,所以此處也是接口。
接口就等著后面邊實現(xiàn)邊決定把,現(xiàn)在也沒啥思路。畢竟我連接口都沒寫過呢。
以前寫代碼,都是......不對,不應該稱作代碼。。。嗯。。。叫做“腳本“可能更為合適。以前寫腳本呀,都是想到那寫到哪,也沒啥規(guī)劃,類什么的真心得是懶得寫。至于繼承。。。作為一個小菜,我還是crtl+c/v搞定吧。畢竟是寫腳本嘛,以實現(xiàn)暫時的目標為第一方向。不過現(xiàn)在呢,【我要寫代碼】了,已經不是簡單的腳本了,要有基本的結構,不說什么高內聚,低耦合了,至少也得考慮到簡單的擴展吧。當然,依然還只是以實現(xiàn)簡單的功能為目標。至于什么并發(fā)之類的東東,還是以后版本再考慮吧。不過,即使簡單也要有基本的東西。比如日志,配置文件,異常處理~
第一次寫的分析肯定一點都不像個分析,但是呢,就跟寫代碼一樣,總是要邁出第一步的,以后肯定會盡量越來越來噠,代碼也會越來越好~就醬!
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。