天天看點

CMDB建設思路的一點思考

雖然配置管理本身不是一件複雜的事情,但建設一個有生命力的CMDB仍然需要一些方式方法,如何讓運維工程師平滑地将傳統配置管理的方式遷移到CMDB上,如何收集、管理配置資訊,如何消費配置資訊進而最大程度地發揮出CMDB的價值等,都是值得思考的。

1、關于配置項

明确了CMDB的定義之後,一個比較難的内容來了,那就是配置項。配置管理的本質是對配置項進行管理,那麼首先我們需要梳理應該管理哪些資源的哪些配置項,這是一個關鍵點,很多人容易在這個地方迷失自我而無從下手。可以将上述問題拆解成兩個問題:第一個問題是哪些資源應該納入CMDB進行管理,第二個問題是哪些配置項應該納入CMDB進行管理。

對于第一個問題,普遍認為所有的IT設施都應該納入管理,但這隻是一個目标,并不意味着一開始就能達到,在實踐中,我們要按需接入,持續疊代。由于不同類型的資源往往接入方式和配置屬性差别較大,一般情況下會先對資源進行分類,然後根據需求逐漸接入對應的資源,例如為了對應用釋出提供支援,應用伺服器是我們需要優先考慮并進行管理的對象。

對于配置項的管理,通常情況下我們也會對其進行分類,例如針對應用伺服器,我們可以将屬性資訊分為3類,包括基本配置資訊、靜态屬性資訊、運作時屬性資訊。基本配置資訊包括資産編号、裝置型号、品牌、資産上架時間、維保到期時間等;靜态屬性則包括CPU核心數、記憶體大小、磁盤大小、數量等;運作時屬性資訊包括CPU負載、CPU使用率、記憶體使用率等。其中,CMDB需要管理的是基本配置資訊和靜态屬性資訊,而運作時屬性資訊則不需要納入CMDB進行管理,因為CMDB建成之後,我們隻需要對接監控系統,就能擷取到運作時屬性資訊。

2、相容使用習慣

在運維工程師的日常工作中,即便沒有CMDB,配置管理的運用也無處不在,例如Excel表就是其中一種形式。大多數情況下,運維工程師會維護多種資訊的Excel表:關于伺服器的Excel表記錄了伺服器的配置資訊,機房的Excel表記錄了伺服器的布局資訊,SA的Excel表記錄了應用配置資訊和部署資訊,DBA的Excel表記錄了資料庫資源的配置設定資訊,網絡工程師的Excel表記錄了政策開通的資訊等。這些都是配置管理的展現,隻是通過Excel表來進行承載。CMDB首先要做的便是對配置管理系統化,相應需要考慮到的便是相容運維工程師的使用習慣,即如何将Excel表中的配置資訊抽象到CMDB系統中,這樣不僅能提高配置管理的可維護性和便捷性,也能為配置屬性的抽象和歸納提供參照,對後期CMDB系統推廣也提供了潛在的幫助。

3、配置資訊收集

配置資訊的收集,實際上是将資源管理落地,首先我們要做的是對資源進行分類,一般情況下,可以通過資源面向的服務類型來進行分類,例如基礎設施層、中間件層、應用層,也可以根據資源的特性來進行分類,例如硬體資源、軟體資源。

4、有價值的功能
  • 統一的配置查詢。CMDB存儲管理了各種次元的配置資料,能快速有效地進行資源檢索是一個關鍵能力。通常情況下,我們在查詢的時候往往希望能夠關聯出任何和查詢條件相比對的資料,例如通過IP能查詢出關聯的虛拟機、實體機以及運作在上面的應用等。這種查詢方式使得易用性和查詢的效率變得更高,同時查詢結果也更加立體。然而傳統的關系型資料庫并不能達到上面的要求,在實踐中,可以考慮将配置資料同步到ElasticSearch,然後利用ElasticSearch靈活強大的查詢能力進行查詢。
  • 報表中心。運維的對象是資源,那麼難免會涉及對資源狀态的查詢,對資源容量的監控等。在傳統模式下,運維工程師們通過定期輸出報表來達到類似的目的,而CMDB存儲管理了各種類型的配置資料,對于報表的制作有天然優勢。例如:通過擷取監控資料,我們可以定期輸出監控報告;通過查詢資源使用情況,我們可定期輸出容量報告;通過定期巡檢,我們可輸出巡檢報告等。CMDB通過報表中心對相關報表進行統一配置和管理,資料中蘊含着無窮的價值。
  • 資源狀态關聯查詢。在實踐中,CMDB往往并不局限于自身的資料收集,其強大之處在于通過關聯系統來擷取關聯資料,進而實作過去無法滿足的應用場景,例如:我們想找出沒有被監控的伺服器,通常情況下,隻有當事件發生後,才發現沒有被監控,告警沒有發送出來。CMDB可以解決類似的問題,因為CMDB管理着所有配置資料,關聯監控系統後,就能擷取所有裝置的監控資訊,進而能很快定位出哪些裝置沒有被監控,哪些監控項沒有正确配置。另外,前面提到資源有一部分運作時屬性,關聯監控系統後,就能夠很容易地擷取到,這使得在CMDB上不僅能查詢到資源的靜态配置資訊,也能動态擷取到資源的監控資訊。

繼續閱讀