CMDB功能分析與實現方案
阿新 • • 發佈:2019-01-08
CMDB功能分析與實現方案
CMDB系統的主要功能
1.使用者管理,記錄測試,開發,運維人員的使用者表
2.業務線管理,記錄業務的詳情
3.專案管理,指定此專案屬於那一條業務線
4.應用管理,指定此應用的開發人員
5.主機管理,記錄主機管理員,連線的網路裝置,儲存,雲主機,物理主機等資訊
6.主機變更管理,主機的一些變更資訊,例如管理員,連線的網路,硬體裝置更換
7.網路裝置管理,主要記錄網路的詳細資訊
8.IP管理,IP屬於哪個主機,哪個網段,是否被佔用等
總結:
自動的幫助我們收集伺服器的資訊,並且可以自動的記錄我們的變更資訊
CMDB的實現方案
方案一:Agent實現
將agent指令碼做定時任務,定時的將資料傳送給API伺服器然後存入資料庫
(畫圖:https://www.draw.io/)
優點:速度快
缺點:需要在每臺伺服器上都部署agent
使用場景:有大量的伺服器的情況下
方案二:peremiko
中控裝置通過Paramiko模組連線到各個伺服器上,再通過執行命令獲取資料
優點:不用再手動給每一臺伺服器設定agent
缺點:依賴於網路速度慢
使用場景:伺服器較少的情況
方案三:saltstack
與方案二的流程相似,中控機發送命令給伺服器執行。伺服器將結果放入另一個佇列中,中控機獲取將服務資訊傳送到API進而錄入資料庫。
優點:開發成本低 缺點:依賴第三方工具 使用場景:伺服器中安裝使用了saltstack
salt stack安裝
1.安裝和配置
master端: """ 1. 安裝salt-master yum install salt-master 2. 修改配置檔案:/etc/salt/master interface: 0.0.0.0 # 表示Master的IP 3. 啟動 service salt-master start """ slave端: """ 1. 安裝salt-minion yum install salt-minion 2. 修改配置檔案 /etc/salt/minion master: 10.211.55.4 # master的地址 或 master: - 10.211.55.4 - 10.211.55.5 random_master: True id: c2.salt.com # 客戶端在salt-master中顯示的唯一ID 3. 啟動 service salt-minion start """
2.授權
salt-key -L # 檢視已授權和未授權的slave
salt-key -a salve_id # 接受指定id的salve
salt-key -r salve_id # 拒絕指定id的salve
salt-key -d salve_id # 刪除指定id的salve
3.執行命令
在master伺服器上對minion進行遠端操作
salt 'c2.salt.com' cmd.run 'ifconfig'