特來電CMDB應用實踐

        配置管理數據庫(Configuration Management Database,如下簡稱CMDB)是一個老生常談的話題,不一樣的人有不一樣的看法,實際應用時,由於企業成熟度以及軟硬件規模不一樣,別人的成功經驗很難直接複製,所以用好了會成爲整個應用系統的基石,用很差就成了雞肋。特來電雲平臺在規劃伊始,便意識到了CMDB的重要性,在實踐中不斷豐富完善其內容,探索出了一條行之有效的輕量級CMDB建設之路,下面筆者具體談一下應用實踐思路,但願能給感興趣的同行帶來一些共鳴。算法

1、總體架構數據庫

        特來電雲平臺是互聯網架構的分佈式應用平臺,但CMDB的設計初衷倒是中心化的,這樣便於爲上面的應用層提供統一的數據變動處理,保證各應用系統共享一致性的配置數據,總體架構以下所示:微信

        1.應用層架構

        特來電雲平臺是CMDB支撐的上層分佈式高併發高可用系統,做爲一個支持「全生命週期管理」的技術服務平臺,主要由三大子平臺構成:開發交付平臺、公共技術平臺、運維管理平臺,分別對應一個應用系統全生命週期中的開發時、運行時以及運維時,總體架構圖以下所示:併發

 

        2.管理層運維

        硬件資產管理主要管理物理的數據中心、應用主機,以及邏輯上劃分出的服務單元、應用集羣、應用節點等;軟件資產管理主要管理關鍵應用以及應用程序定義、應用程序實例(進程);應用配置管理主要管理應用運行時須要用到的各類靜態或動態參數;軟硬件資產申請主要管理各產品研發團隊發佈應用時,須要用到的硬件資產,以及須要註冊的軟件資產基礎數據,經過與自動運維繫統打通,申請經過後,能夠進行應用主機的部署以及應用程序的初始化;數據準確性校驗一是經過初期對軟硬件資產的正確盤點,二是經過與監控系統打通,定時將收集上來的數據與CMDB存儲的基礎數據進行自動校對,必要時根據校驗的異常信息進行人工校對,從而保證CMDB基礎數據的絕對準確;數據統計分析報表主要從運營的角度對軟硬件資產及應用配置進行如數家珍的圖形化展現,以及統計應用主機利用率、分析使用成本等,爲機器升降配置、擴縮容量提供有力的數據支撐。機器學習

        3.存儲層分佈式

         做爲輕量級的CMDB系統,考慮到集中存儲以及數據一致性,經過關係型數據庫便可知足應用配置以及訪問查詢需求。高併發

2、核心模型學習

        傳統應用中,CMDB做爲ITIL(Information Technology Infrastructure Library,信息技術基礎設施庫)關鍵模塊中的基礎,主要面向硬件資產,涉及的內容及流程模型比較重,而一些創新型的中小型互聯網公司,大部分採用的是公有云,不須要管理自建機房,更多關注軟件資產,所以若是直接使用標準的CMDB系統,每每會感到水土不服,失敗案例比較多。經過研究業界主流作法以及結合自身實踐,特來電雲平臺通過不斷探索,認爲構建一個輕量級的CMDB系統,應該以關鍵應用爲抓手,將雲上輕量的硬件資產以及軟件資產進行統一協調管理,核心模型以下:

 

        1.硬件資產模型

        在強調高可用的互聯網領域,建設多個數據中心(一主多從),構建多地多活應用,愈來愈成爲主流趨勢,而且同一個數據中心的雞蛋也不是放在一個籃子裏,而是經過服務單元進行Set化管理,每一個籃子(Set)做爲一個更細粒度的封閉部署單元,均可以對外提供一樣服務,這種多Set化方式,更加靈活的提升了應用的可用性;同時一個Set又繼續細分爲多個應用集羣,爲了能最大化複用應用主機,每一個物理的應用主機上抽象出了多個邏輯的應用節點,就像在一個機器上,部署了多個虛擬的應用容器,所以每一個應用集羣不是由應用主機直接構成,而是由應用節點構成。

        2.軟件資產模型

        一個複雜的業務應用平臺,一定是由不少應用構成的,識別出這些具備技術及業務功能屬性的關鍵應用,就是抓住了整個應用平臺的牛鼻子。關鍵應用能夠按業務線進行劃分,既包括可視化的系統,也包括非可視化的系統,每一個系統都由必定數量的應用程序構成,每一個應用程序都會有對應的實例,也就是最終運行在每一個應用節點上的應用進程,每一個應用進程能夠經過應用主機、進程名以及部署路徑進行惟一肯定。經過這種從上到下的模型抽象,爲準確監控應用系統運行狀態而且及時定位應用系統運行故障,提供了深刻到進程級別的有力支撐。

3、應用實踐

        特來電雲平臺基於CMDB在應用層面作了大量實踐,積累了不少典型應用場景,如下概要談一下在運維方面的應用場景。

        1.監控預警

        整個監控預警系統徹底架構在CMDB之上,一方面監控預警的對象來自於CMDB中的基礎數據,另外一方面監控收集上來的基礎數據,要定時與CMDB中的基礎數據進行校對,若是有異常時,會經過預警通知運維人員,以保證CMDB數據的絕對準確。

        2.應用拓撲大屏

        應用拓撲大屏是對CMDB系統的實時展示,能夠全方位查看整個系統的運行狀態,同時與預警系統打通,當有預警發生時,會將對應應用節點標紅,點擊該節點,能夠查看預警信息,並進一步聯查全鏈路信息,直至鑽取到存儲在大數據系統中的異常信息,實現了多個系統數據聯動。

        3. 智能運維

        智能運維是目前運維界的主流發展趨勢,目的是經過機器學習的方式來進一步解決自動化運維所未能解決的問題,提升系統的預判能力、穩定性、下降IT成本,並提升企業的產品競爭力。特來電雲平臺在系統智能運維方面進行了探索性嘗試,目前已經初見成效。當有預警發生時,經過計算預警攜帶的CMDB信息,一方面經過自動運維進行場景化處理,好比回收Web站點應用程序池、重啓應用程序、轉儲應用日誌等,經過這種點殺方式,防止預警事件進一步惡化爲系統故障,另外一方面利用機器學習算法,對預警發生時的數據進行決策分析,嘗試找到預警發生的根因,以期後面從源頭上切斷預警發生的條件。

4、總結

       基於公有云的CMDB建設須要採用集中化的輕量級解決方案,以業務線的關鍵應用爲抓手,打通業務系統與CMDB之間的數據通道,讓數據流動起來,最大化發揮CMDB的價值;同時要保證CMDB基礎數據的絕對準確,爲上層應用提供一致性的數據支撐。

5、特來電雲計算與大數據微信公衆號

1.微信公衆號名稱:特來電雲計算與大數據

 2.二維碼:

 

相關文章
相關標籤/搜索