特來電CMDB應用實踐

2022-02-02 09:27:28 字數 2630 閱讀 5482

配置管理資料庫(configuration management database,以下簡稱cmdb)是乙個老生常談的話題,不同的人有不同的見解,實際應用時,因為企業成熟度以及軟硬體規模不同,別人的成功經驗很難直接複製,因此用好了會成為整個應用系統的基石,用不好就成了雞肋。特來電雲平台在規劃伊始,便意識到了cmdb的重要性,在實踐中不斷豐富完善其內容,探索出了一條行之有效的輕量級cmdb建設之路,下面筆者具體談一下應用實踐思路,希望能給感興趣的同行帶來一些共鳴。

一、整體架構

特來電雲平台是網際網路架構的分布式應用平台,但cmdb的設計初衷卻是中心化的,這樣便於為上面的應用層提供統一的資料變更處理,保證各應用系統共享一致性的配置資料,整體架構如下所示:

1.應用層

特來電雲平台是cmdb支撐的上層分布式高併發高可用系統,作為乙個支援「全生命週期管理」的技術服務平台,主要由三大子平台構成:開發交付平台、公共技術平台、運維管理平台,分別對應乙個應用系統全生命週期中的開發時、執行時以及運維時,整體架構圖如下所示:

2.管理層

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

3.儲存層

作為輕量級的cmdb系統,考慮到集中儲存以及資料一致性,通過關係型資料庫即可滿足應用配置以及訪問查詢需求。

二、核心模型

1.硬體資產模型

在強調高可用的網際網路領域,建設多個資料中心(一主多從),構建多地多活應用,越來越成為主流趨勢,並且同乙個資料中心的雞蛋也不是放在乙個籃子裡,而是通過服務單元進行set化管理,每個籃子(set)作為乙個更細粒度的封閉部署單元,都可以對外提供同樣服務,這種多set化方式,更加靈活的提高了應用的可用性;同時乙個set又繼續細分為多個應用集群,為了能最大化復用應用主機,每個物理的應用主機上抽象出了多個邏輯的應用節點,就像在乙個機器上,部署了多個虛擬的應用容器,因此每個應用集群不是由應用主機直接構成,而是由應用節點構成。

2.軟體資產模型

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

三、應用實踐

特來電雲平台基於cmdb在應用層面做了大量實踐,積累了很多典型應用場景,以下概要談一下在運維方面的應用場景。

1.監控預警

整個監控預警系統完全架構在cmdb之上,一方面監控預警的物件來自於cmdb中的基礎資料,另一方面監控收集上來的基礎資料,要定時與cmdb中的基礎資料進行校對,如果有異常時,會通過預警通知運維人員,以保證cmdb資料的絕對準確。

2.應用拓撲大屏

應用拓撲大屏是對cmdb系統的實時展現,可以全方位檢視整個系統的執行狀態,同時與預警系統打通,當有預警發生時,會將對應應用節點標紅,點選該節點,可以檢視預警資訊,並進一步聯查全鏈路資訊,直至鑽取到儲存在大資料系統中的異常資訊,實現了多個系統資料聯動。

3. 智慧型運維

智慧型運維是目前運維界的主流發展趨勢,目的是通過機器學習的方式來進一步解決自動化運維所未能解決的問題,提高系統的預判能力、穩定性、降低it成本,並提高企業的產品競爭力。特來電雲平台在系統智慧型運維方面進行了探索性嘗試,目前已經初見成效。當有預警發生時,通過計算預警攜帶的cmdb資訊,一方面通過自動運維進行場景化處理,比如**web站點應用程式池、重啟應用程式、轉儲應用日誌等,通過這種點殺方式,防止預警事件進一步惡化為系統故障,另一方面利用機器學習演算法,對預警發生時的資料進行決策分析,嘗試找到預警發生的根因,以期後面從源頭上切斷預警發生的條件。

四、總結

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

監控ui 特來電Hangfire智慧型監控實踐

hangfire 是一款強大的.net開源後台任務利器,無需windows服務 任務計畫程式。可以使用於asp.net 應用也可以使用於控制台。hangfire 只需簡單幾句 即可建立新的不同種類的任務。與quartz.net相比,其整合了視覺化的ui管理與監視工具,不但可以檢視任務的執行頻率 還可...

Caffe 應用實踐

一 資料整理 1 資料處理 標註類標籤 資料打亂 shuf 2 轉換成caffe可讀的leveldb或者lmdb儲存。build tools convert imageset backend lmdb resize heiht 45 resize width 45 image data print ...

dokuwiki 應用實踐

root leekwen cat etc issue centos release 6.5 final kernel r on an m root leekwen uname ra linux leekwen 2.6.32 573.22.1.el6.x86 64 1 smp wed mar 23 0...