對於資源管理者,監控系統&服務 是整個運維環節,乃至整個產品生命週期中最重要的一環,事前及時預警發現故障,過後提供翔實的數據用於追查定位問題,分析業務指標。服務器
在正式的說 監控系統以前,先給你們講一個 故事。運維
我曾經有一隻寵物貓,我給他起名叫「奧利奧」,它簡直是個人天使。
我很愛很愛他,按期給他洗澡,上美容院,看病等等,享受獨一無二的 監護,是否生病等等。spa
後來 我接手一個養殖場,裏面有10000只豬,10000只牛,10000只羊。
我發現,按照我養寵物的方式來對待他們已經不適合了,爲何呢?我沒有那麼多精力來起30000個名字,並且還要記住這30000個牲口對應哪一個名字,更加不可能爲每一隻都制定一個vip式的 我的監護方案(準確點說是 個牛個羊個豬:-D)。blog
因而我爲了更好的管理監護養殖場的動物們,作了以下的事情:生命週期
根據牲口們的種類分紅3類,「牛哞哞」,「豬哼哼」,「喜羊羊」。圖片
爲每一類動物各自打上編號,如「牛1號」,「牛2號」。。。。。。ip
根據動物的不一樣制定三類 不一樣的監護方案。資源
好了,剩下的我只須要坐在辦公室,看着我完成的 管理&監護方案,樂呵呵的笑了。 get
---------------------------------------------------華麗麗的分割線---------------------------------------------------------------------產品
好了,以上是個不算故事的故事, 對於管理者來講,不論是管理人仍是管理服務器,甚至於管理任何一類抽象的資源,都會從中獲得些什麼感悟呢?
去個性化: 牛一號和牛2號在我眼中並無不一樣,誇張點說,在我眼中那一萬頭牛隻是一頭牛,剩下的9999頭不過是第一頭的克隆體,他們的結構同樣、功能同樣、特徵同樣;
歸類:根據
爲每一個類別制定對應的策略。
這樣,上面故事中的 30000只動物,實際上就只是三隻而已: 一隻牛,一隻羊,一隻豬。那管理的難易度而言就方便容易的多。
那麼如何作好分類,如何管理分類,就成了最核心的問題,對於 監控系統 來講則更是重中之重,作好了分類 & 對每一個分類進行長期有效的管理工做,在整個監控體系運做過程當中不管是時間仍是經理都佔據了絕大部分,對於這部分的操做,又能夠引出 一個你們耳熟能詳的系統 —— CMDB(Configuration Management Database), 不過 在這裏不是描述重點,不作過多闡述,以後會專門寫篇博文來對CMDB進行心得描述。
好了,作完聚類,對於監控來講,接下來 即是 具體的實施過程:
數據採集;
數據落地;
監控策略定製;
數據展現;
報警下發;
報警處理;
等等。
在公司內部,監控系統咱們以前採用的是zabbix,由於某些緣由,後來替換爲了出自小米的open-falcon,可是無論實現方式是哪一個,其流程大同小異,數據流大體以下:
數據經 「採集模塊」 彙總到 「彙總模塊」, 同時下發給 「判斷模塊」 & 「落地模塊」,數據模塊將數據落地共展現使用。策略模塊從「配置模塊」處獲取對應報警策略和拿到的數據作對比,若是觸發報警測數據流向 「報警模塊」, 將報警經過sms或者mail發送給對應的報警接收人。
到這裏,監控系統基本說完了,在這裏並不對箇中細節作過多描述,由於萬變不離其宗,這裏也只記錄本人對監控的心得體會。其中花了大部分的時間花在了闡述 聚類操做,也足以看出其重要性。