1. 程式人生 > >4.運維平臺之硬件CMDB

4.運維平臺之硬件CMDB

www. 針對 有用 server 大量 work tencent images shadow

概念很重要:

CMDB(Configuration Management Database-配置管理數據庫),存儲與管理企業IT架構硬件設備和軟件資源等信息.

硬件CMDB針對硬件設備資源維護管理,統轄域內超融合基本設施的計算(CPU和內存)、存儲、網絡、IO、虛擬化等資源.

軟件CMDB針對'系統(os/vm/docker)<->服務<->應用'資源鏈維護管理.

會分為兩章節進行陳述,分別為<1.4 運維平臺之硬件CMDB> 和 <1.5 運維平臺之軟件CMDB>.



需求:

1.機房和機架信息收集、機架機管理使用.

2.網絡設備基本信息和接線(交換機等)、線路資源(專線等)、網絡架構和硬件設備拓撲如何維護.

3.服務器基本信息收集更新,涉及CPU、內存、磁盤、網絡、RAID等部件.

4.IP地址規則、DNS域名管理、VIP地址、客戶經銷商等擴展資源.

5.運維成本統計(針對費用),包括產品類型和運維成本.

6.IT資源分布和消耗使用,以便進行IT規則和架構調整.



難點:

1.A公司(大量小型機,X86服務器,刀箱服務器等,自建機房;使用FusionSphere、kvm、vmware exsi等私有雲);

B公司(擁有不小X86服務器,租用機房;內部使用docker容器雲,對接阿裏雲、騰訊雲等);

反正每個公司業務場景不一致,需要調整CMDB數據結構模型,以適應相關需求.

2.某同事維護大量小型機,使用excel進行維護更新,接入到CMDB系統是否簡單和方便查找,最後他拒絕了.

用戶體驗第一,在保證功能強壯的基礎下, 如何提高CMDB系統易用性.

3.數據入庫和更新自動化探索, 如何做到架構調整和數據同步一致.

4.基於狀態機的設備生命周期生態系統建設, 變更操作通過workflow系統(有跡可尋),狀態改變推送到monitor系統.



為何需要CMDB:

1.之前某臺設備宕機,某塊擴展磁盤(後續添加)損壞,廠商需要找到對應order_id才提供更換服務;

2.去機房接條網線,結果弄錯了,郁悶.

3.雙11到來,需要快速上線大量vm,需要確認資源是否充足.

4.部門內部溝通,項目上線架構規則(需要開發和DBA),需要了解資源現狀.


機架機櫃圖

需要將機器和機架設備在平臺模擬展現出來, 見識過以前公司的機櫃圖, 也參考過實現真實的機櫃模擬圖(http://blog.liuts.com/post/206/),運維平臺化之IDC機房機櫃服務器拓撲圖實現思路(http://xiaorui.cc/?s=%E6%9C%BA%E6%9F%9C&submit=), 最終我是找到一個基於js/css實例, 通過webapi讀取json數據, 然後通過jquery對數據進行繪圖.

技術分享圖片技術分享圖片


網絡架構拓撲和硬件設備拓撲

感覺需要大量的前端知識, 暫時使用軟件(https://www.processon.com/)畫圖,再投放到網頁上.

太難了, 現在還在(抄代碼)開發過程中. 哈哈.


服務器基本信息收集更新

主要抄襲alex君的項目https://github.com/triaquae/MadKing, 對django model進行大量修改.

hwcheck(rvadmin工具)對DELL物理機非常好,不但可以進行設備監控, 友好支持部件檢測.

由於修改大量字段,所以重構數據接入和更新共用模塊(core.py), 函數比較多,可以參考一下.

技術分享圖片

查詢列表

技術分享圖片技術分享圖片

詳細頁面1

技術分享圖片技術分享圖片

詳細頁面2

技術分享圖片技術分享圖片

數據變動會接入到報警系統

技術分享圖片


網絡資源和基本盤存放雜七雜八的信息, 類似表單.

IP資源: IP地址規劃, IP使用情況, 有時vm下線,需要回收資源,以便下次分配.

虛擬地址: VIP/IP映射情況, 有時可能記錄硬防映射; 有時記錄lvs映射; 其它應用vip情況.(很有用的)

域名使用: 域名和詳細域等等, 對接到dnspod更新信息, 對接軟件CMDB.

IDC管理: 故障有問題, 提供地點和緊急電話.

客戶經銷商: 這個必須有.

技術分享圖片技術分享圖片


運維成本統計

類似(https://cloud.tencent.com/product/sms)產品列表,

例如域名過期續費、機房服務器續費等等, 否則出問題才知道又欠費了.


數據鏈接:

alex君 https://github.com/triaquae/MadKing

這個也不錯 https://github.com/voilet/cmdb

http://www.jumpserver.org/

4.運維平臺之硬件CMDB