閆麗慧@SAP(整理)
馬海杰
擁有多年運(yùn)維開發(fā)經(jīng)驗(yàn)的運(yùn)維開發(fā)工程師,曾經(jīng)在中搜網(wǎng)擔(dān)任高級系統(tǒng)工程師負(fù)責(zé)機(jī)房自動化運(yùn)維,現(xiàn)就職于拉手網(wǎng)做運(yùn)維開發(fā)工作。
做了幾年的運(yùn)維開發(fā)終于有了“名分”——DevOps,感謝組織感謝人民!
相信不少背鍋俠們的服務(wù)器管理還在用Excel或者其他手動方式做統(tǒng)計,但是如果服務(wù)器數(shù)量逐漸增多怎么辦呢?還用手動方式統(tǒng)計的話弊端就會逐漸凸顯。
隨著運(yùn)維行業(yè)的發(fā)展,傳統(tǒng)的運(yùn)維方式已經(jīng)逐漸面臨淘汰,自動化運(yùn)維才是王道。
為了解決公司資產(chǎn)管理混亂的問題,作為擁有多年背鍋經(jīng)驗(yàn)的我決定開發(fā)自動化資產(chǎn)管理系統(tǒng)為公司自動化運(yùn)維的發(fā)展貢獻(xiàn)一份力量。
AutoAMS 2.0(自動化資產(chǎn)管理系統(tǒng))是用Django
框架 Bootstrap
前端框架 Mysql
數(shù)據(jù)庫開發(fā)的。
之所以選擇使用Django
框架是因?yàn)榉?wù)器信息采集程序要用到Ansible
自動化工具,而Ansible
本身是用Python
開發(fā)的,所以Django
也成了不二之選。
AutoAMS 2.0實(shí)現(xiàn)的功能:
看一下系統(tǒng)界面:
展示一些服務(wù)器報表、日志提醒、系統(tǒng)運(yùn)行狀況、知識庫推薦文章等信息
系統(tǒng)調(diào)用ansible api
通過ssh
協(xié)議主動獲取服務(wù)器信息,無需安裝agent
,這里得感謝常總(常純)提的寶貴意見,這樣做的好處多多。
一方面在不影響現(xiàn)有服務(wù)器環(huán)境的情況下實(shí)現(xiàn)信息采集的目的。
另一方面方便資產(chǎn)系統(tǒng)的升級與新功能的快速上線。
苦逼經(jīng)驗(yàn)分享:
AutoAMS 1.0版本是采用的C/S架構(gòu),發(fā)現(xiàn)增減功能的時候agent都得更新一遍,而且agent的兼容性也會受系統(tǒng)版本及服務(wù)器品牌的影響。
使用SNMP協(xié)議采集交換機(jī)硬件信息,自動查詢交換機(jī)接口信息并入庫。
使用Excel批量導(dǎo)入服務(wù)器備件、硬盤備件、內(nèi)存?zhèn)浼?/p>
a. 自定義權(quán)限列表
b. 給每個動作添加自定義的權(quán)限修飾符
c. 新建分組并選擇其所擁有的權(quán)限
d. 新建用戶指定所屬權(quán)限分組
作為一線運(yùn)維人員,處理服務(wù)器故障的時候可能會遇到找不到服務(wù)器機(jī)柜位置的問題,對于管理不完善的傳統(tǒng)運(yùn)維來說這是個頭疼的問題。那么如何解決這一問題呢
這時可能有些朋友會想到使用有定位功能的高級機(jī)柜或者在普通機(jī)柜上安裝定位終端,這樣做成本太高了,而且老板們也不樂意往這方面投資。
作為一個擁有多年運(yùn)維經(jīng)驗(yàn)的背鍋俠決定通過其他方法實(shí)現(xiàn)一下不花錢的服務(wù)器定位方法。(ps:不花錢??!老板好開心)。
好了不廢話了,看一下實(shí)現(xiàn)步驟:
有同學(xué)可能會問給交換機(jī)的每個接口添加位置信息好麻煩吶!回頭想想網(wǎng)絡(luò)設(shè)備的變動頻率還是挺小的,所以也就麻煩這么一次,可以說是一勞永逸。
適用于想從繁雜的手動資產(chǎn)管理脫離出來的背鍋俠。
接觸資產(chǎn)系統(tǒng)是在四年前,當(dāng)時的公司有一套資產(chǎn)管理系統(tǒng),但都是手動錄入。
由于公司業(yè)務(wù)的發(fā)展壯大,服務(wù)器頻繁的上下線,硬盤、內(nèi)存等頻繁更換,服務(wù)器數(shù)量也大量增加,導(dǎo)致現(xiàn)有資產(chǎn)信息經(jīng)常出現(xiàn)統(tǒng)計錯誤與漏統(tǒng)計的問題。
每到年終資產(chǎn)統(tǒng)計的時候,小伙伴們都會大費(fèi)周折的手工核實(shí)。
在朋友的推薦下得知一款國外開源資產(chǎn)管理系統(tǒng),即OCSNG。
OCSNG幾乎可以收集服務(wù)器所有的軟、硬件信息,但是管理界面很不友好,于是老外們就結(jié)合了GLPI來展示OCSNG采集的信息,GLPI重新格式化了OCSNG采集的數(shù)據(jù),看起來友好了一點(diǎn),但這并不是我們想要的,于是決定開發(fā)一套web系統(tǒng)來展示服務(wù)器信息。
采用
Cakephp
框架+Bootstrap
前端框架, 后臺使用Mysql數(shù)據(jù)庫開發(fā)。
就這樣AutoAMS 1.0版本就誕生了。
先期架構(gòu)圖是這樣的:
界面是這樣的:
不過使用過程中發(fā)現(xiàn)一些問題:
由于服務(wù)器系統(tǒng)版本較多,經(jīng)常出現(xiàn)個別服務(wù)器采集不到數(shù)據(jù)或者數(shù)據(jù)不全的問題,OCSNG客戶端是用perl
寫的二次開發(fā)也比較繁瑣,不利于后期升級。
推翻重搞!!
去了新公司之后,在一次技術(shù)分享會議上我講述了以前開發(fā)的資產(chǎn)系統(tǒng),并結(jié)合公司現(xiàn)有狀況作了分析,同事們廣提意見。
于是決定推翻以前的資產(chǎn)系統(tǒng)設(shè)計架構(gòu),重新規(guī)劃、重新開發(fā),盡可能的做成輕量級、可通用的資產(chǎn)系統(tǒng),即當(dāng)前正在開發(fā)的v2.0版本(AutoAMS 2.0)。
下一個版本將會增加服務(wù)器批量配置功能和zabbix監(jiān)控頁面的調(diào)用功能。
通過兩個版本資產(chǎn)系統(tǒng)的開發(fā)自己成長了很多。
獨(dú)樂樂不如眾樂樂,開源的力量是強(qiáng)大的,AutoAMS 2.0以后的版本可能將不再封閉式開發(fā),以后會將系統(tǒng)發(fā)布到github上,希望志同道合的俠客們廣提意見多多指正。
引用蕭總的一句名言“大家一起愉快的玩?!?,也可以加我微信一起討論。
最后感謝高效運(yùn)維,感謝蕭總、董總和???,感謝拉手運(yùn)維團(tuán)隊(duì)的支持,希望能為運(yùn)維自動化行業(yè)的發(fā)展獻(xiàn)上自己的微薄之力。
END.
好東西當(dāng)然要分享
參加GOPS2016上海站,老司機(jī)帶你飛!
2 天 60 位運(yùn)維行業(yè)頂級大咖,傾情奉獻(xiàn)!
現(xiàn)在報名可享受 8 折優(yōu)惠,欲購從速!