0基礎(chǔ)學(xué)數(shù)據(jù)分析 CMDB架構(gòu)方案

要想要更好的學(xué)習(xí)必須要先了解什么是CMDB,CMDB,Configuration Management Database的簡稱,從英文單詞中直譯”配置管理數(shù)據(jù)庫“,但實(shí)際上更多的被稱呼為”資產(chǎn)管理系統(tǒng)“。

### 方案一:agent方案

```python

web服務(wù)<=>數(shù)據(jù)庫<=>API程序<=>agent(部署到服務(wù)器上python服務(wù))

????????1.python代碼利用subprocess模塊執(zhí)行l(wèi)inux命令

????????import subprocess

??????res1 = subprocess.getoutput('ipconfig')

??????res2 = subprocess.getoutput('...')

??????...

????2.利用requests模塊post方法將命令結(jié)果發(fā)送回API程序

??????3.API程序?qū)?shù)據(jù)進(jìn)行二次分析過濾,之后發(fā)送存儲(chǔ)到數(shù)據(jù)庫

????4.web服務(wù)展示數(shù)據(jù)

```

### 方案二:ssh類方案

```python

web服務(wù)<=>數(shù)據(jù)庫<=>API程序<=>中控機(jī)(paramiko)<=>服務(wù)器

????選擇1:paramiko模塊鏈接服務(wù)器

????選擇2:ansible批量管理??# 底層鏈接也是基于paramiko

```

### 上述兩套方案對(duì)比

```python

# 1.agent方案

????????優(yōu)點(diǎn)

??????????定時(shí)執(zhí)行agent腳本,速度快

????????缺點(diǎn)

??????????每次都需要部署

????????應(yīng)用場景

??????????服務(wù)器數(shù)量特別多

# 2.ssh類

????????優(yōu)點(diǎn)

??????????不需要部署agent服務(wù)

????????缺點(diǎn)

??????????使用paramiko登陸服務(wù)器速度比較慢

????????應(yīng)用場景

??????????服務(wù)器較少

```

### 方案三:saltstack方案

```python

'''saltstack也是用python寫的一個(gè)軟件,master與所有minion彼此之間底層通過兩個(gè)zeromq進(jìn)行數(shù)據(jù)交互'''

web服務(wù)<=>數(shù)據(jù)庫<=>API程序<=>中控機(jī)(salt-master)<=>服務(wù)器(salt-minion)

# 優(yōu)點(diǎn)

????不需要寫任何代碼,直接在中控機(jī)和服務(wù)器上yum install salt-master/minion

# 使用場景

????服務(wù)器上已經(jīng)部署了saltstack,那就多一事不如少一事

```

### 方案四:puppet方案

```python

'''較老,底層用ruby on rails編寫,目前基本不用了'''

新浪第一代cmdb使用的就是puppt,后來由于ruby使用者較少不便于后續(xù)編寫及維護(hù)所以之后基本不在使用了

架構(gòu)跟salt-stack方案一致,大致每30分鐘統(tǒng)計(jì)一次

```

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容