天天看點

運維管理平台實作與學習心得

經過一段時間的學習,寫了一個簡單的運維管理平台小項目,先看看啥樣吧!

運維管理平台實作與學習心得
運維管理平台實作與學習心得
運維管理平台實作與學習心得
運維管理平台實作與學習心得
運維管理平台實作與學習心得
運維管理平台實作與學習心得

下面說明下具體實作:

軟體架構:html+css+jquery+bootstrap+ajax+python2.7+django1.9+saltstack+mysql

功能描述:

資料可視化:采用百度開源的echarts繪圖,通過python腳本每分鐘統計nginx日志分析pv/uv量寫到資料庫。

資産管理:采用saltstack restful api二次封裝調用收集主機配置資訊入庫,并提供增删改查。

主機批量管理:也是調用saltstack restful api實作批量執行指令,結果傳回到前端頁面,并提供minion增删。

自動部署軟體:目前是使用預寫好的腳本完成安裝,準備改成salt sls配置管理部署軟體。

其他功能還在繼續開發中…

到幹貨區了,剛入門的朋友,耽誤你幾分鐘時間,請仔細閱讀,一定會對你有幫助!

運維管理平台實作與學習心得

我的學習心得:

用了小一個月時間寫了這個運維管理平台,算是一段學習的總結吧!實作了一些基本的功能,跟生産環境的系統還有很大距離!現在一想其實實作起來沒想象的那麼遙不可及,可以說用到的技術都是基礎的東西,并沒有多高深,是以學習起來并不是很難。自己要完成這樣的平台,思路很重要,比如資料可視化該怎麼展示,資料怎麼處理等等。涉及到從前端到後端再到資料庫表設計及存儲的一系列流程,這些都要有所了解,否則會局限你的思路。是以寫好一個比較完善的平台,開發能力會有很大的提高。當然薪資也緊跟着蹭蹭的漲啦!

該怎麼學習呢?

剛入門的同學,大都會問這個問題,自己毫無頭緒,不知如何下手!可以了解,每個人都會經曆這個階段,跨過去你就稱為群裡所謂的大牛了。哈哈,是不是很有成就感。沒錯!

那麼,以下給大家提供些學習思路,僅供參考:

第一步:掌握python基礎,至少能寫到面向對象程式設計這個層次。

第二步:掌握一種python web架構,推薦使用重量級django架構,雖然剛開始入門有點難,但是現在最為主流,使用最多,功能齊全,一般都能滿足我們的需求了。當然,如果對django感冒,可以選擇輕量級flask架構,入門簡單,學習成本低。在這裡,順便再看看http協定工作原理,比如幾種請求方式、工作流程等。

第三步:資料庫基本的增删改查必會。

第四步:後端的東西前三步就差不多了。該前端了,毋庸置疑html/css基礎必會,可以先學習常用的标簽、選擇器、樣式屬性等。原生javascript基礎先要了解下,再考慮使用封裝好的js庫jquery做頁面行為控制,重點看看jquery事件處理、擷取屬性内容、設定元素内容等,比原生js用着更簡單,也是主流的。學習完後試着寫幾個小頁面檢查自己的學習成果。

第五步:自己寫html/css頁面剛開始入門,寫起來比較費勁,而且浏覽器相容性不是很好。可以考慮使用開源的前端架構,提高開發速度,不用過多考慮相容性。我所知道這樣的前端架構有bootstrap、semanticui、easyui,還有很多,選一個自己喜歡的就好,先學習其中一些常用的樣式,比如表格、表單、按鈕等。其他的用到啥再看也來得及。

第六步:選擇一個自己喜歡模闆。決定使用哪個前端架構後,在網上搜尋下找一個好看的前端頁面模闆,比如搜尋關鍵詞為"bootstrap模闆",會有很多。我們主要就是用它的排版和一些首頁面,再去除一些功能,簡單修改下自己想要的頁面就出來了,再加上你所學的前端架構樣式,可以很快捷的實作某個功能,很省心。

第七步:與後端互動資料,經常用到ajax技術,比如實時從後端擷取新資料展示、傳資料到後端等。ajax也建議使用jquery的,原因還是使用簡單。這時要學習一下js定時器,用于控制ajax擷取資料時間間隔,經常會用到,也很簡單。還有websocket技術,是一種浏覽器與伺服器建立長連接配接,進行實時傳輸資料。在某種場景下很實用,比如web ssh,可以簡單了解下。

第八步:嵌入主流的管理工具,完成某項工作。比如我想做批量管理,就沒必要自己再去寫腳本去做批量執行了,像saltstack、ansible都是這類主流的工具,到時直接調用它們的api就好,功能上也要比自己寫完善很多,不是挺好嘛!

經過這八步循環漸進的學習,我相信你已經有足夠能力開發一套屬于自己的運維管理平台了。

群裡朋友經常問,能看懂代碼,就是寫不出來,怎麼辦啊?這是一個很典型的問題,還是在于代碼寫的少,即使寫的多也都是複制别人的,沒有實際學習意義。要想提高技術能力,隻有一個不變的真理,多學習、多實踐、多總結!

就說這麼多了,以上就是我個人對想轉運維開發的朋友們一點學習思路,不能說完全是對的,但是思路我覺得沒問題。

少了一步很重要的,學習期間難免會遇到各種各樣的問題,這時該怎麼辦呢?不要一有問題就馬上問同僚、技術群,先試着網上查資料,問度娘、谷狗,要學會去獨立排查問題,久而久之處理問題思維就很強了。實在解決不了,這時你應該會想到加技術群了,沒錯!在群裡,會有一些熱心的前輩給你傳授經驗,不但能解決問題,還能吸取其他的經驗,多好!

技術群太多了!閑聊群更多!針對運維開發的群更少!故此,我自己建立了一個運維開發群,創群的目的是為了讓志同道合的同仁聚在一起,共同學習,共同提高。而不是為了當群主想踢誰就踢誰尋找成就感!是以,為營造一個更好的學習氛圍,很注重群成員品質,不歡迎以瞎扯淡、鬥圖、發廣告這類為目的的人加入。

運維管理平台實作與學習心得

期待您的加入!