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

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

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ù)庫(kù)司光,中間件的監(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)化

為什么需要運(yùn)維自動(dòng)化,運(yùn)維自動(dòng)化需要哪些工具售躁,CMDB在運(yùn)維自動(dòng)化中的作用是怎樣的呢 坞淮?

一. 傳統(tǒng)運(yùn)維痛點(diǎn)

先來(lái)看一下傳統(tǒng)運(yùn)維的痛點(diǎn)

1.1 日常工作繁瑣

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

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

在部署某應(yīng)用后啡直,應(yīng)用不能訪問(wèn),就會(huì)聽(tīng)到開(kāi)發(fā)人員說(shuō)苍碟,在我的環(huán)境運(yùn)行很好的酒觅,怎么部署到測(cè)試環(huán)境后,就不能用了微峰,因?yàn)楦黝惌h(huán)境的類庫(kù)不統(tǒng)一

還有一種極端情況舷丹,運(yùn)維人員習(xí)慣不同,可能憑自己的習(xí)慣來(lái)安裝部署軟件蜓肆,每種服務(wù)器上運(yùn)行軟件的目錄不統(tǒng)一

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

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

1.4 無(wú)用報(bào)警信息過(guò)多

經(jīng)常會(huì)收到很多報(bào)警信息厉颤,多數(shù)是無(wú)用的報(bào)警信息穴豫,造成運(yùn)維人員經(jīng)常屏蔽報(bào)警信

另外如果應(yīng)用的訪問(wèn)速度出了問(wèn)題,總是需要從系統(tǒng)逼友、網(wǎng)絡(luò)精肃、應(yīng)用、數(shù)據(jù)庫(kù)等一步步的查找原因

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

資產(chǎn)管理帜乞,服務(wù)管理經(jīng)常記錄在excel司抱、文本文件或者wiki中,不便于管理黎烈,老員工因?yàn)楸容^熟习柠,不注重這些文檔的維護(hù)匀谣,只有靠每次有新員工入職時(shí),資產(chǎn)才能夠更正一次

二. 自動(dòng)化運(yùn)維平臺(tái)應(yīng)該有哪些特性

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

2.1 標(biāo)準(zhǔn)化一切

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

  1. OS的選擇統(tǒng)一化武翎,同一個(gè)項(xiàng)目使用同樣的OS系統(tǒng)部署其所需要的各類軟件
  2. 軟件安裝標(biāo)準(zhǔn)化,例如JAVA虛擬機(jī)溶锭,php宝恶,nginx,mysql等各類應(yīng)用需要的軟件版本趴捅,安裝目錄垫毙,數(shù)據(jù)存放目錄,日志存放目錄等
  3. 應(yīng)用包目錄統(tǒng)一標(biāo)準(zhǔn)化,及應(yīng)用命名標(biāo)準(zhǔn)化
  4. 啟動(dòng)腳本統(tǒng)一目錄和名字拱绑,需要變化的部分通過(guò)參數(shù)傳遞
  5. 配置文件標(biāo)準(zhǔn)化综芥,需要變化的部分通過(guò)參數(shù)傳遞
  6. 日志輸出,日志目錄欺栗,日志名字標(biāo)準(zhǔn)化
  7. 應(yīng)用生成的數(shù)據(jù)要實(shí)現(xiàn)統(tǒng)一的目錄存放
  8. 主機(jī)/虛擬機(jī)命名標(biāo)準(zhǔn)化毫痕,虛擬機(jī)管理使用標(biāo)準(zhǔn)化模板
  9. 使用docker比較容易實(shí)現(xiàn)軟件運(yùn)行環(huán)境的標(biāo)準(zhǔn)化

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

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

如果用開(kāi)源工具(openstack,jenkins迟几,ansible消请,saltstack,zabbix)來(lái)搭建自動(dòng)化運(yùn)維平臺(tái)类腮,如何將各個(gè)工具之間的數(shù)據(jù)統(tǒng)一起來(lái)就非常重要臊泰,如果這些工具的數(shù)據(jù)不統(tǒng)一記錄,那么意味著每增加一臺(tái)服務(wù)器蚜枢,需要將這個(gè)服務(wù)器的數(shù)據(jù)在所有的工具系統(tǒng)中增加一遍缸逃,那么這些數(shù)據(jù)的統(tǒng)一就需要CMDB,那么如何獲取和更新CMDB中的數(shù)據(jù)呢厂抽,API無(wú)疑是一種非常好的方法

另外現(xiàn)在越來(lái)越多的公司選擇將自己的服務(wù)器遷移到云上需频,云其實(shí)就是虛擬化的一種高級(jí)應(yīng)用,這些公有云(阿里云筷凤,騰訊云昭殉,aws等)、私有云(openstack藐守,Vmware等)都擁有比較完備的資源管理的API挪丢,這些API也就是構(gòu)建一個(gè)云服務(wù)器的CMDB的基礎(chǔ)。自動(dòng)化運(yùn)維平臺(tái)可以基于這些云平臺(tái)的API來(lái)管理和維護(hù)服務(wù)器卢厂、存儲(chǔ)乾蓬、網(wǎng)絡(luò)、負(fù)載均衡等資源慎恒。

通過(guò)API對(duì)資源的操作需要日志記錄任内,以備后續(xù)操作審計(jì)撵渡。

2.3 集中化批量運(yùn)維工具

當(dāng)你維護(hù)的服務(wù)器從幾臺(tái),到幾十臺(tái)族奢,再到幾百臺(tái)姥闭,集中化運(yùn)維就勢(shì)在必行了〉ず瑁現(xiàn)在有不少開(kāi)源的集中化批量運(yùn)維工具越走,比如puppet、chef靠欢、ansible廊敌、saltstack。

我們主要使用ansible和saltstack门怪,這兩個(gè)系統(tǒng)都是python寫的骡澈,而且現(xiàn)在大多數(shù)運(yùn)維人員都有一定的python開(kāi)發(fā)能力,這兩個(gè)工具提供的API或者SDK來(lái)來(lái)實(shí)現(xiàn)更為復(fù)雜的功能

2.4 持續(xù)集成和部署工具

集成和部署工具掷空,一般用jenkins的比較多肋殴,把打好的包發(fā)布至各臺(tái)服務(wù)器,可以通過(guò)批量運(yùn)維工具或者自定義腳本坦弟,軟件應(yīng)用從立項(xiàng)開(kāi)始就需要定義好業(yè)務(wù)線护锤,項(xiàng)目等,如果某個(gè)項(xiàng)目對(duì)酿傍,服務(wù)器的資源需求增多烙懦,只需要在對(duì)應(yīng)的項(xiàng)目集群中增加對(duì)應(yīng)的資源,這些需要和CMDB聯(lián)系起來(lái)

軟件發(fā)布包括文件的上傳赤炒、分發(fā)氯析、版本管理、回滾等各種操作莺褒,推薦使用SVN或者GIT對(duì)打包好的文件進(jìn)行管理掩缓,然后通過(guò)腳本在各臺(tái)服務(wù)器上進(jìn)行發(fā)布操作,利用SVN或GIt來(lái)完成文件的上傳遵岩、分發(fā)你辣、版本管理、回滾等各種操作旷余,這些操作對(duì)需要進(jìn)行日志記錄绢记,需要在記錄中來(lái)確保

另外使用docker鏡像來(lái)進(jìn)行持續(xù)交付會(huì)更加高效,因?yàn)閐ocker鏡像可以輕松解決環(huán)境依賴的問(wèn)題

2.5 監(jiān)控及應(yīng)用性能分析工具

資源性能監(jiān)控和應(yīng)用性能監(jiān)控正卧,有很多重疊的地方蠢熄,如CPU或者內(nèi)存的使用率增高往往和應(yīng)用的性能有關(guān)

常使用開(kāi)源資源監(jiān)控系統(tǒng)有Zabbix、Nagios炉旷,OpenFalcon签孔,這些軟件主要是服務(wù)器的資源性能監(jiān)控(例如CPU叉讥,磁盤、網(wǎng)絡(luò)饥追、內(nèi)存等)和服務(wù)軟件的性能監(jiān)控(例如JAVA虛擬機(jī)图仓,中間件,數(shù)據(jù)庫(kù)等)

APM關(guān)注于對(duì)應(yīng)用程序內(nèi)部及應(yīng)用程序之間調(diào)用的性能分析但绕,比如能精確定位到某應(yīng)用的URL的訪問(wèn)速度快慢救崔,SQL執(zhí)行速度的快慢,這可以幫助開(kāi)發(fā)和運(yùn)維人員定位程序的應(yīng)用性能瓶頸

2.6 日志集中分析工具

應(yīng)用系統(tǒng)的問(wèn)題定位方式捏顺,主要就是日志分析六孵。但是隨著業(yè)務(wù)和服務(wù)器的增長(zhǎng),日志的分析定位也會(huì)比較困難幅骄,系統(tǒng)一旦出故障劫窒,發(fā)生哪個(gè)應(yīng)用,引用所在服務(wù)器以及應(yīng)用的代碼拆座。日志集中分析和APM一起使用主巍,同時(shí)可以根據(jù)CMDB中記錄的應(yīng)用服務(wù)相關(guān)信息,應(yīng)用定位問(wèn)題會(huì)更加高效挪凑。

2.7 安全漏洞掃描工具

安全漏洞更多的是安全工程師的來(lái)做孕索,運(yùn)維工程師更多是去解決這些漏洞,關(guān)于安全漏洞掃描如何與CMDB結(jié)合起來(lái)使用岖赋,可以使用提供API的漏洞掃描工具檬果,針對(duì)CMDB中記錄中對(duì)安全要求很高的應(yīng)用來(lái)進(jìn)行掃描。

三. 資源管理系統(tǒng)的功能

從上面可以知道唐断,所有的運(yùn)維工具都離不開(kāi)CMDB的支持选脊,那么CMDB應(yīng)該有哪些數(shù)據(jù),可以實(shí)現(xiàn)什么樣的功能脸甘,如何確保CMDB的準(zhǔn)確性 恳啥?

3.1 CMDB管理什么數(shù)據(jù)

  1. 用戶信息管理,記錄測(cè)試丹诀,開(kāi)發(fā)钝的,運(yùn)維人員的用戶表
  2. 業(yè)務(wù)信息線管理,需要記錄業(yè)務(wù)的詳情
  3. 項(xiàng)目信息管理铆遭,指定此項(xiàng)目用屬于哪條業(yè)務(wù)線硝桩,以及項(xiàng)目詳情
  4. 應(yīng)用信息管理,指定此應(yīng)用的開(kāi)發(fā)人員枚荣,屬于哪個(gè)項(xiàng)目碗脊,和代碼地址,部署目錄橄妆,部署集群衙伶,依賴的應(yīng)用祈坠,軟件等信息
  5. 集群信息管理,指定集群屬于哪個(gè)項(xiàng)目矢劲,以及集群的Level(開(kāi)發(fā)赦拘,測(cè)試,生產(chǎn))
  6. 主機(jī)信息管理芬沉,包括云主機(jī)躺同,物理機(jī),主機(jī)屬于哪個(gè)集群花嘶,運(yùn)行著哪些軟件笋籽,主機(jī)管理員蹦漠,連接哪些網(wǎng)絡(luò)設(shè)備椭员,云主機(jī)的資源池,存儲(chǔ)等相關(guān)信息
  7. 主機(jī)信息變更管理笛园,主機(jī)的一些信息變更隘击,例如管理員,所屬集群等信息更改研铆,連接的網(wǎng)絡(luò)變更等
  8. 網(wǎng)絡(luò)設(shè)備信息管理埋同,主要記錄網(wǎng)絡(luò)設(shè)備的詳細(xì)信息,及網(wǎng)絡(luò)設(shè)備連接的上級(jí)設(shè)備
  9. IP信息管理棵红,IP屬于哪個(gè)主機(jī)凶赁,哪個(gè)網(wǎng)段, 是否被占用等

數(shù)據(jù)庫(kù)表如下圖所示:

cmdb 數(shù)據(jù)庫(kù)表2.PNG

3.2 基于CMDB實(shí)現(xiàn)哪些功能

基于CMDB,可以實(shí)現(xiàn)采集資源信息自動(dòng)化逆甜,軟件安裝自動(dòng)化虱肄,應(yīng)用部署自動(dòng)化,告警信息更加詳細(xì)準(zhǔn)確交煞,應(yīng)用關(guān)系拓?fù)鋱D咏窿,網(wǎng)絡(luò)拓?fù)鋱D更加清晰,這些工具對(duì)運(yùn)維會(huì)有很高的價(jià)值

在公司業(yè)務(wù)層面上素征,基于CMDB我們也可以做很多事情集嵌,最直接的就是IT資源的成本控制,另外還有集群容量彈性縮擴(kuò)容御毅,應(yīng)用平臺(tái)的穩(wěn)定性根欧,應(yīng)用的持續(xù)交付等功能

3.3 確保CMDB數(shù)據(jù)的準(zhǔn)確性

CMDB存儲(chǔ)管理企業(yè)IT架構(gòu)中設(shè)備的配置信息,它是所有的應(yīng)用運(yùn)行和應(yīng)用交付的提供相關(guān)的資源的數(shù)據(jù)基礎(chǔ)端蛆,所以保證CMDB數(shù)據(jù)的準(zhǔn)確性顯得非常重要

想要確保CMDB的準(zhǔn)確性凤粗,根據(jù)自己各個(gè)公司的業(yè)務(wù)不同,來(lái)制定CMDB數(shù)據(jù)的錄入流程必不可少

我們?nèi)绾未_保CMDB的數(shù)據(jù)準(zhǔn)確性欺税,公司所有的IT應(yīng)用(數(shù)據(jù)庫(kù)除外)全部運(yùn)行在VMware虛擬機(jī)中

  1. 硬件設(shè)備的資產(chǎn)管理侈沪,在采購(gòu)服務(wù)器或者網(wǎng)絡(luò)設(shè)備后揭璃,需要將相關(guān)的設(shè)備手工錄入CMDB系統(tǒng),并且指定連接的上級(jí)網(wǎng)絡(luò)設(shè)備亭罪,負(fù)責(zé)人
  2. 服務(wù)器需要安裝的VMware軟件后瘦馍,通過(guò)Vcenter來(lái)管理虛擬機(jī)
  3. 新項(xiàng)目確立,申請(qǐng)服務(wù)器資源時(shí)应役,需要填寫業(yè)務(wù)線情组,開(kāi)發(fā)人員,git庫(kù), 測(cè)試人員箩祥,應(yīng)用依賴的相關(guān)環(huán)境等詳細(xì)信息院崇,CMDB系統(tǒng)會(huì)關(guān)聯(lián)相關(guān)的數(shù)據(jù)
  4. 運(yùn)維人員在分配IP,主機(jī)名等相關(guān)信息后袍祖,將開(kāi)發(fā)底瓣,測(cè)試,生產(chǎn)等服務(wù)器記錄入CMDB, 且關(guān)聯(lián)相關(guān)的數(shù)據(jù)
  5. 創(chuàng)建虛擬機(jī)時(shí)使用標(biāo)準(zhǔn)的模板蕉陋,自動(dòng)化創(chuàng)建捐凭,初始化虛擬機(jī),包括安裝salt客戶端凳鬓,監(jiān)控客戶端
  6. 在準(zhǔn)備開(kāi)發(fā)環(huán)境時(shí)茁肠,編寫salt SLS文件,存入git庫(kù)缩举,方便安裝測(cè)試和生產(chǎn)環(huán)境
  7. 創(chuàng)建jenkins job垦梆,實(shí)現(xiàn)自動(dòng)化部署及自動(dòng)化打包的相關(guān)部分的定義

我們的CMDB還有哪些不足:

  1. 網(wǎng)絡(luò)關(guān)系拓?fù)鋱D沒(méi)有在CMDB中顯示
  2. 沒(méi)有實(shí)現(xiàn)應(yīng)用關(guān)系拓?fù)鋱D,希望可以通過(guò)APM工具來(lái)完善
  3. 資源監(jiān)控做的不夠到位仅孩,造成資源浪費(fèi)托猩,以及Vcenter虛擬機(jī)分配不合理
  4. 沒(méi)有實(shí)現(xiàn)應(yīng)用集成部署流水線
  5. 系統(tǒng)告警后,沒(méi)有自動(dòng)化處理相關(guān)的事件杠氢,更多的是在用人工解決
  6. CMDB沒(méi)有提供API站刑,提供給別的系統(tǒng)調(diào)用
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市鼻百,隨后出現(xiàn)的幾起案子绞旅,更是在濱河造成了極大的恐慌,老刑警劉巖温艇,帶你破解...
    沈念sama閱讀 212,884評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件因悲,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡勺爱,警方通過(guò)查閱死者的電腦和手機(jī)晃琳,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,755評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人卫旱,你說(shuō)我怎么就攤上這事人灼。” “怎么了顾翼?”我有些...
    開(kāi)封第一講書人閱讀 158,369評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵投放,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我适贸,道長(zhǎng)灸芳,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書人閱讀 56,799評(píng)論 1 285
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上溉苛,老公的妹妹穿的比我還像新娘。我一直安慰自己滑潘,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,910評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著,像睡著了一般究反。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上儒洛,一...
    開(kāi)封第一講書人閱讀 50,096評(píng)論 1 291
  • 那天,我揣著相機(jī)與錄音狼速,去河邊找鬼琅锻。 笑死,一個(gè)胖子當(dāng)著我的面吹牛向胡,可吹牛的內(nèi)容都是我干的恼蓬。 我是一名探鬼主播,決...
    沈念sama閱讀 39,159評(píng)論 3 411
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼僵芹,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼处硬!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起拇派,我...
    開(kāi)封第一講書人閱讀 37,917評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤荷辕,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后件豌,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體疮方,經(jīng)...
    沈念sama閱讀 44,360評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,673評(píng)論 2 327
  • 正文 我和宋清朗相戀三年茧彤,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了骡显。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,814評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖惫谤,靈堂內(nèi)的尸體忽然破棺而出壁顶,到底是詐尸還是另有隱情,我是刑警寧澤溜歪,帶...
    沈念sama閱讀 34,509評(píng)論 4 334
  • 正文 年R本政府宣布博助,位于F島的核電站,受9級(jí)特大地震影響痹愚,放射性物質(zhì)發(fā)生泄漏富岳。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,156評(píng)論 3 317
  • 文/蒙蒙 一拯腮、第九天 我趴在偏房一處隱蔽的房頂上張望窖式。 院中可真熱鬧,春花似錦动壤、人聲如沸萝喘。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 30,882評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)阁簸。三九已至,卻和暖如春哼丈,著一層夾襖步出監(jiān)牢的瞬間启妹,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 32,123評(píng)論 1 267
  • 我被黑心中介騙來(lái)泰國(guó)打工醉旦, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留饶米,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,641評(píng)論 2 362
  • 正文 我出身青樓车胡,卻偏偏與公主長(zhǎng)得像檬输,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子匈棘,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,728評(píng)論 2 351

推薦閱讀更多精彩內(nèi)容