一種企業(yè)服務(wù)器運(yùn)維自動化的方法與系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)軟件技術(shù)領(lǐng)域,尤其涉及一種企業(yè)服務(wù)器運(yùn)維自動化的方法與系統(tǒng)。
【背景技術(shù)】
[0002]現(xiàn)有的企業(yè)服務(wù)器自動運(yùn)維的方式是結(jié)合python(—種面向?qū)ο蟆⒔忉屝陀?jì)算機(jī)程序設(shè)計(jì)語言)+Php (即超文本預(yù)處理器,是一種通用開源腳本語言)+shell (是指“提供使用者使用界面”的軟件(命令解析器))腳本編程,使用mysql數(shù)據(jù)庫(關(guān)系型數(shù)據(jù)庫管理系統(tǒng))對實(shí)體服務(wù)器的信息(包括登錄密碼、硬件配置以及服務(wù)器的在線狀態(tài)等)進(jìn)行統(tǒng)計(jì)和管理,實(shí)現(xiàn)基于WEB界面的自動化運(yùn)維管理平臺,主要有如下功能:服務(wù)器基礎(chǔ)信息與性能數(shù)據(jù)采集與報(bào)表呈現(xiàn)、服務(wù)器密碼管理、應(yīng)用服務(wù)及配置文件的自動部署管理、訪問日志分析、流量與性能監(jiān)控、郵件與短信報(bào)警。
[0003]現(xiàn)有技術(shù)存在的缺點(diǎn)是:現(xiàn)有企業(yè)的服務(wù)器數(shù)量眾多,管理方式是單獨(dú)一臺一臺的去處理,沒有一個(gè)可統(tǒng)一管理的系統(tǒng)平臺,從而導(dǎo)致管理效率低、耗時(shí)、不能及時(shí)處理,需要等待較長時(shí)間;在分析處理系統(tǒng)日志時(shí),不能很及時(shí)的獲取每天的日志數(shù)據(jù),部分前期線上部署的業(yè)務(wù)操作還無法做到規(guī)范化,無法高效地管理現(xiàn)有的實(shí)體服務(wù)器的日志。
【發(fā)明內(nèi)容】
[0004]本發(fā)明要解決的技術(shù)問題之一,在于提供一種企業(yè)服務(wù)器運(yùn)維自動化的方法,在日常運(yùn)維中,提高了運(yùn)維工作效率,避免了運(yùn)維工作重復(fù)性以及準(zhǔn)確性的工作完全可以用自動化來進(jìn)行處理。
[0005]本發(fā)明的問題之一,是這樣實(shí)現(xiàn)的:一種企業(yè)服務(wù)器運(yùn)維自動化的方法,包括如下步驟:
[0006]步驟1、設(shè)置一臺主服務(wù)器,登錄所述主服務(wù)器對被控服務(wù)器做ssh的無密碼驗(yàn)證處理;同時(shí),在所述主服務(wù)器上部署有WEB頁面、php程序、python環(huán)境和數(shù)據(jù)庫;
[0007]步驟2、編寫python腳本,使用所述python腳本獲取所述被控服務(wù)器的硬件信息和網(wǎng)絡(luò)配置信息,并存儲至所述數(shù)據(jù)庫中;
[0008]步驟3、所述主服務(wù)器對所述被控服務(wù)器的服務(wù)狀態(tài)進(jìn)行監(jiān)測,根據(jù)對應(yīng)的服務(wù)編寫好用于監(jiān)測的shell腳本,使用所述python腳本將所述用于監(jiān)測的shell腳本分發(fā)至運(yùn)行該服務(wù)的被控服務(wù)器上,并添加到該被控服務(wù)器的任務(wù)列表里進(jìn)行監(jiān)測,并將監(jiān)測結(jié)果寫入到所述數(shù)據(jù)庫中;
[0009]步驟4、根據(jù)所述被控服務(wù)器所運(yùn)行服務(wù)的日志格式,編寫用于日志統(tǒng)計(jì)與分析的shell腳本,使用所述python腳本將所述用于日志統(tǒng)計(jì)與分析的shell腳本分發(fā)至所述被控服務(wù)器上,再根據(jù)所述用于日志統(tǒng)計(jì)與分析的shell腳本統(tǒng)計(jì)日志中的數(shù)據(jù),并將該數(shù)據(jù)寫入到所述數(shù)據(jù)庫中;
[0010]步驟5、所述主服務(wù)器通過所述php程序連接至所述數(shù)據(jù)庫,根據(jù)所述數(shù)據(jù)庫查詢數(shù)據(jù),并將數(shù)據(jù)呈現(xiàn)在所述WEB頁面上;運(yùn)維人員通過所述WEB頁面直接查到每臺被控服務(wù)器日志分析的數(shù)據(jù)以及每臺被控服務(wù)器上運(yùn)行的服務(wù)狀態(tài)后進(jìn)行操作。
[0011]本發(fā)明要解決的技術(shù)問題之二,在于提供一種企業(yè)服務(wù)器運(yùn)維自動化的系統(tǒng),在日常運(yùn)維中,提高了運(yùn)維工作效率,避免了運(yùn)維工作重復(fù)性以及準(zhǔn)確性的工作完全可以用自動化來進(jìn)行處理。
[0012]本發(fā)明的問題之二,是這樣實(shí)現(xiàn)的:一種企業(yè)服務(wù)器運(yùn)維自動化的系統(tǒng),包括:
[0013]部署模塊,用于設(shè)置一臺主服務(wù)器,登錄所述主服務(wù)器對被控服務(wù)器做ssh的無密碼驗(yàn)證處理;同時(shí),在所述主服務(wù)器上部署有WEB頁面、php程序、python環(huán)境和數(shù)據(jù)庫;
[0014]腳本編寫模塊,用于編寫python腳本,使用所述python腳本獲取所述被控服務(wù)器的硬件信息和網(wǎng)絡(luò)配置信息,并存儲至所述數(shù)據(jù)庫中;
[0015]狀態(tài)監(jiān)測模塊,用于所述主服務(wù)器對所述被控服務(wù)器的服務(wù)狀態(tài)進(jìn)行監(jiān)測,根據(jù)對應(yīng)的服務(wù)編寫好用于監(jiān)測的shell腳本,使用所述python腳本將所述用于監(jiān)測的shell腳本分發(fā)至運(yùn)行該服務(wù)的被控服務(wù)器上,并添加到該被控服務(wù)器的任務(wù)列表里進(jìn)行監(jiān)測,并將監(jiān)測結(jié)果寫入到所述數(shù)據(jù)庫中;
[0016]日志分析模塊,用于根據(jù)所述被控服務(wù)器所運(yùn)行服務(wù)的日志格式,編寫用于日志統(tǒng)計(jì)與分析的shell腳本,使用所述python腳本將所述用于日志統(tǒng)計(jì)與分析的shell腳本分發(fā)至所述被控服務(wù)器上,再根據(jù)所述用于日志統(tǒng)計(jì)與分析的shell腳本統(tǒng)計(jì)日志中的數(shù)據(jù),并將該數(shù)據(jù)寫入到所述數(shù)據(jù)庫中;
[0017]數(shù)據(jù)查詢模塊,用于所述主服務(wù)器通過所述php程序連接至所述數(shù)據(jù)庫,根據(jù)所述數(shù)據(jù)庫查詢數(shù)據(jù),并將數(shù)據(jù)呈現(xiàn)在所述WEB頁面上;運(yùn)維人員通過所述WEB頁面直接查到每臺被控服務(wù)器日志分析的數(shù)據(jù)以及每臺被控服務(wù)器上運(yùn)行的服務(wù)狀態(tài)后進(jìn)行操作。
[0018]本發(fā)明具有如下優(yōu)點(diǎn):本發(fā)明提高了運(yùn)維人員的工作處理效率,規(guī)范了企業(yè)生產(chǎn)運(yùn)維操作,減少了人工操作失誤可能帶來的損失,相應(yīng)的也增強(qiáng)了服務(wù)器的安全性,使得管理上百臺服務(wù)器變的簡單化,還可以通過數(shù)據(jù)報(bào)表更好的分析業(yè)務(wù)的整體運(yùn)營情況。
【附圖說明】
[0019]下面參照附圖結(jié)合實(shí)施例對本發(fā)明作進(jìn)一步的說明。
[0020]圖1為本發(fā)明一種企業(yè)服務(wù)器運(yùn)維自動化的方法執(zhí)行流程圖。
【具體實(shí)施方式】
[0021]請結(jié)合圖1所示,本發(fā)明的一種企業(yè)服務(wù)器運(yùn)維自動化的方法,包括如下步驟:
[0022]步驟1、在企業(yè)內(nèi)網(wǎng)設(shè)置一臺主服務(wù)器,該主服務(wù)器為一兼有分發(fā)、信息收集、過濾處理、數(shù)據(jù)庫及提供web界面的應(yīng)用服務(wù)器,登錄所述主服務(wù)器對被控服務(wù)器做ssh的無密碼驗(yàn)證處理,即在被控服務(wù)器上有主服務(wù)器的公鑰,完成后,保證主服務(wù)器能夠通過內(nèi)網(wǎng)ssh到達(dá)企業(yè)被控服務(wù)器,無密碼驗(yàn)證處理的目的是為了讓主服務(wù)器訪問被控服務(wù)器時(shí)可以直接登錄,不需要再次輸入密碼驗(yàn)證用戶信息;同時(shí),在所述主服務(wù)器上部署有WEB頁面、Php程序、python環(huán)境和數(shù)據(jù)庫,保證正常運(yùn)行(其中,php程序是用來實(shí)現(xiàn)WEB的后臺邏輯,python環(huán)境是用來實(shí)現(xiàn)python腳本的正常運(yùn)行),并創(chuàng)建所述被控服務(wù)器與所述主服務(wù)器的數(shù)據(jù)庫連接的公共賬號;
[0023]步驟2、編寫python腳本,使用所述python腳本獲取所述被控服務(wù)器的硬件信息和網(wǎng)絡(luò)配置信息,并將所述被控服務(wù)器的硬件信息和網(wǎng)絡(luò)配置信息存入到所述主服務(wù)器的所述數(shù)據(jù)庫中,硬件信息和網(wǎng)絡(luò)配置信息的存儲是為了方便查看,可以很清楚的知道當(dāng)前所有服務(wù)器的具體軟硬件的配置信息,有變動可以隨時(shí)更改;
[0024]步驟3、所述主服務(wù)器對所述被控服務(wù)器的服務(wù)狀態(tài)進(jìn)行監(jiān)測,根據(jù)對應(yīng)的服務(wù)編寫好用于監(jiān)測的shell腳本,使用所述python腳本將所述用于監(jiān)測的shell腳本分發(fā)至運(yùn)行該服務(wù)的被控服務(wù)器上,并添加到該被控服務(wù)器的任務(wù)列表里進(jìn)行監(jiān)測,保證shell腳本能定時(shí)被執(zhí)行,通過所述公共賬號將所述被控服務(wù)器與所述主服務(wù)器的數(shù)據(jù)庫連接,并將監(jiān)測結(jié)果寫入到所述數(shù)據(jù)庫對應(yīng)的數(shù)據(jù)表中;
[0025]步驟4、根據(jù)所述被控服務(wù)器所運(yùn)行服務(wù)的日志格式,編寫用于日志統(tǒng)計(jì)與分析的shell腳本,使用所述python腳本將所述用于日志統(tǒng)計(jì)與分析的shell腳本分發(fā)至所述被控服務(wù)器上,再根據(jù)所述用于日志統(tǒng)計(jì)與分析的shell腳本統(tǒng)計(jì)日志中的數(shù)據(jù),如獨(dú)立IP數(shù),某域名下被訪問最多的鏈接等,通過所述公共賬號將所述被控服務(wù)器與所述主服務(wù)器的數(shù)據(jù)庫連接,并將該數(shù)據(jù)寫入到所述數(shù)據(jù)庫對應(yīng)的數(shù)據(jù)