您現在的位置是:首頁 > PHP心得

李清波 2017-06-26 PHP心得 1150

運維管理平臺實現與學習心得


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

wKiom1gK_ffwcQhZAA55VJmdWs4747.pngwKiom1gNXVuB4_RGAADs-5_jXQ8663.png1498443151878389.pngwKioL1gK_d_Brha2AAHyWeShyk4337.pngwKioL1gK_jSxA1n8AAD1q6VEeeg989.pngwKioL1gK_iaRAB9VAAEWquCcOnu967.png


下面說明下具體實現:

軟件架構: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就好,功能上也要比自己寫完善很多,不是挺好嘛!


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

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

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


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

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


QQ群:323779636(Shell/Python運維開發群)

本文來源:https://m.aliyun.com/yunqi/articles/62417?utm_content=m_21277

評論