CMDB與自動(dòng)化運(yùn)維

CMDB與自動(dòng)化運(yùn)維

一、IT運(yùn)維的分類

IT運(yùn)維俭令,指的是對(duì)已經(jīng)搭建好的網(wǎng)絡(luò),軟件部宿,硬件進(jìn)行維護(hù)抄腔。運(yùn)維領(lǐng)域也是細(xì)分的,有硬件運(yùn)維和軟件運(yùn)維理张。

  • 硬件運(yùn)維主要包括對(duì)基礎(chǔ)設(shè)施的運(yùn)維赫蛇,比如機(jī)房的設(shè)備,主機(jī)的硬盤雾叭,內(nèi)存這些物理設(shè)備的維護(hù)悟耘。
  • 軟件運(yùn)維主要包括系統(tǒng)運(yùn)維和應(yīng)用運(yùn)維,系統(tǒng)運(yùn)維主要包括對(duì)OS织狐,數(shù)據(jù)庫暂幼,中間件的監(jiān)控和維護(hù),這些系統(tǒng)介于設(shè)備和應(yīng)用之間移迫,應(yīng)用運(yùn)維主要是對(duì)線上業(yè)務(wù)系統(tǒng)的運(yùn)維
這里討論的主要是軟件運(yùn)維的自動(dòng)化旺嬉,包括系統(tǒng)運(yùn)維和應(yīng)用運(yùn)維的自動(dòng)化

二、傳統(tǒng)運(yùn)維的痛點(diǎn)

  • 日常工作繁瑣

日常運(yùn)維工作是比較繁瑣的厨埋,研發(fā)同學(xué)會(huì)經(jīng)常需要到服務(wù)器上查日志邪媳,重啟應(yīng)用,或者是說今天上線某個(gè)產(chǎn)品,需要部署下環(huán)境悲酷。這些瑣事是傳統(tǒng)運(yùn)維的大部分工作

  • 應(yīng)用運(yùn)行環(huán)境不統(tǒng)一

在部署某應(yīng)用后套菜,應(yīng)用不能訪問,就會(huì)聽到開發(fā)人員說设易,在我的環(huán)境運(yùn)行很好的,怎么部署到測(cè)試環(huán)境后蛹头,就不能用了顿肺,因?yàn)楦黝惌h(huán)境的類庫不統(tǒng)一
還有一種極端情況,運(yùn)維人員習(xí)慣不同渣蜗,可能憑自己的習(xí)慣來安裝部署軟件屠尊,每種服務(wù)器上運(yùn)行軟件的目錄不統(tǒng)一

  • 運(yùn)維及部署效率低下

想想運(yùn)維人員需要登陸到服務(wù)器上執(zhí)行命令,部署程序耕拷,不僅效率很低讼昆,并且非常容易出現(xiàn)人為的錯(cuò)誤,一旦手工出錯(cuò)骚烧,追溯問題將會(huì)非常不容易

  • 無用報(bào)警信息過多

經(jīng)常會(huì)收到很多報(bào)警信息浸赫,多數(shù)是無用的報(bào)警信息,造成運(yùn)維人員經(jīng)常屏蔽報(bào)警信
另外如果應(yīng)用的訪問速度出了問題赃绊,總是需要從系統(tǒng)既峡、網(wǎng)絡(luò)、應(yīng)用碧查、數(shù)據(jù)庫等一步步的查找原因

  • 資產(chǎn)管理和應(yīng)用管理混亂

資產(chǎn)管理运敢,服務(wù)管理經(jīng)常記錄在excel、文本文件或者wiki中忠售,不便于管理传惠,老員工因?yàn)楸容^熟,不注重這些文檔的維護(hù)稻扬,只有靠每次有新員工入職時(shí)卦方,資產(chǎn)才能夠更正一次

三、自動(dòng)化運(yùn)維平臺(tái)的特性

針對(duì)傳統(tǒng)運(yùn)維的痛點(diǎn)腐螟,我們可以知道自動(dòng)化運(yùn)維需要支持哪些功能

運(yùn)維自動(dòng)化最重要的就是標(biāo)準(zhǔn)化一切

  • OS的選擇統(tǒng)一化愿汰,同一個(gè)項(xiàng)目使用同樣的OS系統(tǒng)部署其所需要的各類軟件
  • 軟件安裝標(biāo)準(zhǔn)化,例如JAVA虛擬機(jī)乐纸,php衬廷,nginx,mysql等各類應(yīng)用需要的軟件版本汽绢,安裝目錄吗跋,數(shù)據(jù)存放目錄,日志存放目錄等
  • 應(yīng)用包目錄統(tǒng)一標(biāo)準(zhǔn)化,及應(yīng)用命名標(biāo)準(zhǔn)化
  • 啟動(dòng)腳本統(tǒng)一目錄和名字跌宛,需要變化的部分通過參數(shù)傳遞
  • 配置文件標(biāo)準(zhǔn)化酗宋,需要變化的部分通過參數(shù)傳遞
  • 日志輸出,日志目錄疆拘,日志名字標(biāo)準(zhǔn)化
  • 應(yīng)用生成的數(shù)據(jù)要實(shí)現(xiàn)統(tǒng)一的目錄存放
  • 主機(jī)/虛擬機(jī)命名標(biāo)準(zhǔn)化蜕猫,虛擬機(jī)管理使用標(biāo)準(zhǔn)化模板
  • 使用docker比較容易實(shí)現(xiàn)軟件運(yùn)行環(huán)境的標(biāo)準(zhǔn)化

四、資產(chǎn)管理系統(tǒng)(CMDB)

CMDB是所有運(yùn)維工具的數(shù)據(jù)基礎(chǔ)

五哎迄、CMDB包含的功能

  1. 用戶管理回右,記錄測(cè)試,開發(fā)漱挚,運(yùn)維人員的用戶表
  2. 業(yè)務(wù)線管理翔烁,需要記錄業(yè)務(wù)的詳情
  3. 項(xiàng)目管理,指定此項(xiàng)目用屬于哪條業(yè)務(wù)線旨涝,以及項(xiàng)目詳情
  4. 應(yīng)用管理蹬屹,指定此應(yīng)用的開發(fā)人員,屬于哪個(gè)項(xiàng)目白华,和代碼地址慨默,部署目錄,部署集群衬鱼,依賴的應(yīng)用业筏,軟件等信息
  5. 主機(jī)管理,包括云主機(jī)鸟赫,物理機(jī)蒜胖,主機(jī)屬于哪個(gè)集群,運(yùn)行著哪些軟件抛蚤,主機(jī)管理員台谢,連接哪些網(wǎng)絡(luò)設(shè)備,云主機(jī)的資源池岁经,存儲(chǔ)等相關(guān)信息
  6. 主機(jī)變更管理朋沮,主機(jī)的一些信息變更,例如管理員缀壤,所屬集群等信息更改樊拓,連接的網(wǎng)絡(luò)變更等
  7. 網(wǎng)絡(luò)設(shè)備管理,主要記錄網(wǎng)絡(luò)設(shè)備的詳細(xì)信息塘慕,及網(wǎng)絡(luò)設(shè)備連接的上級(jí)設(shè)備
  8. IP管理筋夏,IP屬于哪個(gè)主機(jī),哪個(gè)網(wǎng)段, 是否被占用等

六图呢、CMDB實(shí)現(xiàn)的四種方式

(1)Agent實(shí)現(xiàn)方式

Agent方式条篷,可以將服務(wù)器上面的Agent程序作定時(shí)任務(wù)骗随,定時(shí)將資產(chǎn)信息提交到指定API錄入數(shù)據(jù)庫

01_Agent方式.png

其本質(zhì)上就是在各個(gè)服務(wù)器上執(zhí)行subprocess.getoutput()命令,然后將每臺(tái)機(jī)器上執(zhí)行的結(jié)果赴叹,返回給主機(jī)API鸿染,然后主機(jī)API收到這些數(shù)據(jù)之后,放入到數(shù)據(jù)庫中乞巧,最終通過web界面展現(xiàn)給用戶

優(yōu)點(diǎn):速度快
缺點(diǎn):需要為每臺(tái)服務(wù)器部署一個(gè)Agent程序
應(yīng)用場(chǎng)景:大公司涨椒、服務(wù)器數(shù)量多

(2)ssh實(shí)現(xiàn)方式(基于Paramiko模塊)

中控機(jī)通過Paramiko(py模塊)登錄到各個(gè)服務(wù)器上,然后執(zhí)行命令的方式去獲取各個(gè)服務(wù)器上的信息

01_ssh方式.png
優(yōu)點(diǎn):不需要使用Agent腳本
缺點(diǎn):速度慢
應(yīng)用場(chǎng)景:適合服務(wù)器較少的環(huán)境
import paramiko
   
# 創(chuàng)建SSH對(duì)象
ssh = paramiko.SSHClient()
# 允許連接不在know_hosts文件中的主機(jī)
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# 連接服務(wù)器
ssh.connect(hostname='c1.salt.com', port=22, username='root', password='123')
   
# 執(zhí)行命令
stdin, stdout, stderr = ssh.exec_command('df')
# 獲取命令結(jié)果
result = stdout.read()
   
# 關(guān)閉連接
ssh.close()

(3)salt-stack 方式
01_salt方式.png

此方案本質(zhì)上和第二種方案大致是差不多的流程摊欠,中控機(jī)發(fā)送命令給服務(wù)器執(zhí)行丢烘。服務(wù)器將結(jié)果放入另一個(gè)隊(duì)列中,中控機(jī)獲取將服務(wù)信息發(fā)送到API進(jìn)而錄入數(shù)據(jù)庫些椒。

優(yōu)點(diǎn):快,開發(fā)成本低
缺點(diǎn):依賴于第三方工具
應(yīng)用場(chǎng)景:適合于公司一開始就使用這種方式掸刊,比較推薦
  • 安裝以及配置
# master 端
# 1.安裝 salt-master
yum install salt-master

# 2.修改配置文件
vim /etc/salt/master

interface: 172.19.102.103 # 表示master的IP

# 3.啟動(dòng)
systemctl start salt-master

=============================

# slave 端
# 1.安裝 salt-minion
yum install salt-minion

# 2.修改配置文件
vim /etc/salt/minion

master:  172.19.102.103   # 表示master的地址

# 3.啟動(dòng)
systemctl start salt-minion

# 查看是否啟動(dòng)
ps aux |grep salt-master

ps aux |grep salt-minion
  • 授權(quán)
salt-key -L                # 查看已授權(quán)和未授權(quán)的slave
salt-key -a  salve_id      # 接受指定id的salve
salt-key -r  salve_id      # 拒絕指定id的salve
salt-key -d  salve_id      # 刪除指定id的salve
  • 執(zhí)行命令
# 授權(quán)成功后免糕,主機(jī)(master)可以對(duì) “奴隸機(jī)”(slave)進(jìn)行遠(yuǎn)程操作

# * 表示所有奴隸機(jī)
salt '*' cmd.run 'ifconfig'
  • 基于API的方式
import salt.client
local = salt.client.LocalClient()
result = local.cmd('c2.salt.com', 'cmd.run', ['ifconfig'])
補(bǔ)充:Puppet(ruby語言開發(fā))(了解)
每隔30分鐘,通過RPC消息隊(duì)列將執(zhí)行的結(jié)果返回給用戶
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末忧侧,一起剝皮案震驚了整個(gè)濱河市石窑,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌蚓炬,老刑警劉巖松逊,帶你破解...
    沈念sama閱讀 216,997評(píng)論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異肯夏,居然都是意外死亡经宏,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,603評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門驯击,熙熙樓的掌柜王于貴愁眉苦臉地迎上來烁兰,“玉大人,你說我怎么就攤上這事徊都』φ澹” “怎么了?”我有些...
    開封第一講書人閱讀 163,359評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵暇矫,是天一觀的道長(zhǎng)主之。 經(jīng)常有香客問我,道長(zhǎng)李根,這世上最難降的妖魔是什么槽奕? 我笑而不...
    開封第一講書人閱讀 58,309評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮朱巨,結(jié)果婚禮上史翘,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好琼讽,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,346評(píng)論 6 390
  • 文/花漫 我一把揭開白布必峰。 她就那樣靜靜地躺著,像睡著了一般钻蹬。 火紅的嫁衣襯著肌膚如雪吼蚁。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,258評(píng)論 1 300
  • 那天问欠,我揣著相機(jī)與錄音肝匆,去河邊找鬼。 笑死顺献,一個(gè)胖子當(dāng)著我的面吹牛旗国,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播注整,決...
    沈念sama閱讀 40,122評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼能曾,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了肿轨?” 一聲冷哼從身側(cè)響起寿冕,我...
    開封第一講書人閱讀 38,970評(píng)論 0 275
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎椒袍,沒想到半個(gè)月后驼唱,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,403評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡驹暑,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,596評(píng)論 3 334
  • 正文 我和宋清朗相戀三年玫恳,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片岗钩。...
    茶點(diǎn)故事閱讀 39,769評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡纽窟,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出兼吓,到底是詐尸還是另有隱情臂港,我是刑警寧澤,帶...
    沈念sama閱讀 35,464評(píng)論 5 344
  • 正文 年R本政府宣布视搏,位于F島的核電站审孽,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏浑娜。R本人自食惡果不足惜佑力,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,075評(píng)論 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望筋遭。 院中可真熱鬧打颤,春花似錦暴拄、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,705評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至透且,卻和暖如春撕蔼,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背秽誊。 一陣腳步聲響...
    開封第一講書人閱讀 32,848評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工鲸沮, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人锅论。 一個(gè)月前我還...
    沈念sama閱讀 47,831評(píng)論 2 370
  • 正文 我出身青樓讼溺,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親最易。 傳聞我的和親對(duì)象是個(gè)殘疾皇子肾胯,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,678評(píng)論 2 354