天天看點

自動化運維

【51cto專稿】在人們的印象中,隻有大型的網際網路企業(如:百度、新浪、淘寶等)才能用到自動化運維部署,其實不然,現在很多其他類型的企業也在運用自動化運維部署這一技術。立足于交通行業,營運車輛監控管理和服務為基礎,專業從事交通資訊化領域的技術研發、解決方案提供、營運服務和相關增值服務于一體的全國性綜合交通資訊服務提供商北京中交興路資訊科技有限公司便是如此。

中交興路走向自動化運維之路

為了了解自動化運維在中交興路的應用情況,記者專程采訪了中交興路負責運維自動化軟體開發領域的運維工程師鄧磊(部落格)。談到以前的傳統運維的經曆,鄧磊老師不禁感慨一番:“傳統運維主要通過手動或者寫腳本方式來進行維護、更新、上線應用平台,在工作的時候,沒有更新與修改的日志,都是研發對平台有了最新的版本,運維就得更新,有的時候不知道更新什麼内容,如果更新的次數過多,間隔過短,都不知道修改與更新了什麼,一旦出現事故,就會有相當長的時間來解決此問題。

相對于傳統的運維而言,自動化運維有很多優勢,以下三個方面更為突出:

(1)有記錄可循:比如使用svn進行版本控制,一旦新版本出現問題,可以恢複舊版本,為解決問題提供了很大的便利。

(2)使用開源的自動化軟體:比如在進行系統安裝的時候,使用cobbler或者kickstart,進行配置的時候使用puppet,進行監控的時候使用nagios、cacti、zabbix等,通過這些軟體能極大的幫助我們對系統進行安裝、部署與監控,節省我們的時間。我們不但要能實時的了解系統的運作情況,還需要能預判系統将要出現的問題,盡量的在出現問題前解決問題,這才是我們運維真正需要做的,而不是忙着救火。

(3)有相應的制度:想要實作自動化制度,就一定要有自動化運維的實行标準,出現各個問題,都有相應的解決方法,這樣的做事效率将會有很大的提升。

建立高效it運維自動化管理部署

記者與鄧磊老師談到中交興路目前的自動運維情況時,他談到:"從今年2月份開始,中交興路就開始了自動化運維的部署,系統部署類工具使用cobbler;這個軟體是朋友推薦的,加上測試過一段時間,使用後覺得比kickstart更友善,cobbler支援指令行管理,web界面管理,還提供了api接口,可以友善二次開發使用。配置類工具選擇puppet;可管理配置檔案、使用者、cron任務、軟體包、系統服務等。非常的友善。監控類工具是自己開發的監控系統php+mysql+shell。"

公司監控系統有3個階段:

1、 使用nagios+cacti

在這個階段主要是通過nagios監控服務運作情況,使用cacti監控系統資源情況,雖然軟體監控的時候沒問題,但由于公司在全國20個省都有機房,使用nagios+cacti監控起來十分麻煩,使用nagios分布式監控也十分麻煩;

2、使用shell腳本監控公司服務

在這個階段主要是通過shell腳本定制的,根據公司的實際情況來進行專門監控,雖然通過這樣的方式監控很友善,但在進行日常維護的時候很麻煩,100+以上台機器,每天光巡檢就是累死人的工作量。

3、使用我自己搭建的php+mysql+shell監控系統

通過我自己搭建的監控系統監控系統,解決了前2個問題,不僅能通過shell腳本根據公司的實際需求來監控,而且能通過php來在web端檢視監控的内容,并且能通過gnuplot軟體生成相應的資料圖。”

自動化運維部署細節分析

“自動化運維固然優勢明顯,但是在部署的過程中也應注意一些小細節,”鄧磊老師談到三點,

“一、選擇一個适合自己的軟體,要對相應的軟體做相應的了解,比如你想進行系統部署類的軟體,你是選擇kickstart還是cobbler,哪個的功能更适合你,哪個你更熟悉的配置與管理,同時一定要在虛拟環境測試成功後,在試運作環境裡測試,都沒有問題在再生産裡部署。

二、一定要有一個完整的思路,不要想做什麼就做什麼。比如你在進行配置類如puppet的安裝與部署的時候,如果你沒有一個完整的思路,想一個做一個,比如域名采用什麼方式都不考慮、主從端的時間都不同步、主從的ip不能互相平通,那麼你肯定做一個失敗一個,不能成功實行運維自動化。

三、實作運維自動化要有相應的流程與制度,如果你隻是通過軟體來實作了自動化,但在流程與制度上沒有相應的措施,比如想通過svn+puppet對監控系統進行版本控制與自動化的部署的時候,研發與運維随意的對svn内容進行修改與删除,那麼運維自動化不如不實行,一但這樣的實行,你出現問題的機率會非常的大,而且問題的解決時間也會非常的多,得不償失。”

下面是某公司事故更新與處理流程圖,從使用者的問題回報到各部門之間的調查分析、協調工作都有詳細的規劃。

自動化運維

總結:

自動化運維會給it人員帶來便利,同時會減少it人員的投入,在今天這樣硬碟、cpu價格低廉的日子,公司的伺服器數量會增加的非常的快,如果還是向以前那樣通過手工或者腳本來更新、部署、修改系統的話,你會發現你的工作時間嚴重不足,而且出現問題的機率也很大,解決問題的時間也會很長,每天忙着救火,自己累不說,上司也對這樣的運維不滿意,職位與薪資自然無法得到增長。如果你會自動化運維的話,你就會發現,其實管理100+的機器非常的簡單,一個人就可以做到系統部署(使用cobbler)、系統軟體部署與管理(使用puppet)、系統服務與資源的監控(使用nagios+cacti或者其他),通過這些開源的自動化運維軟體,來減少我們的工作量,減少錯誤産生頻率,增加我們的休息時間,來使我們能有更多的時間來學習與做其他自己想做的事。

本文轉自:http://os.51cto.com/art/201211/365061.htm

繼續閱讀