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

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

wKiom1gK_ffwcQhZAA55VJmdWs4747.png

wKioL1gK_d_Brha2AAHyWeShyk4337.png

wKiom1gLCP2zI7-BAAF5ux0hHxc814.png

wKiom1gNXVuB4_RGAADs-5_jXQ8663.pngwKioL1gK_iaRAB9VAAEWquCcOnU967.pngwKioL1gK_jSxA1n8AAD1q6VEeeg989.png

下面說明下具體實現:數據庫

軟件架構:HTML+CSS+Jquery+Bootstrap+Ajax+Python2.7+Django1.9+SaltStack+MySQL編程

功能描述:後端

  1. 數據可視化:採用百度開源的ECharts繪圖,經過Python腳本每分鐘統計Nginx日誌分析PV/UV量寫到數據庫。瀏覽器

  2. 資產管理:採用SaltStack Restful API二次封裝調用收集主機配置信息入庫,並提供增刪改查。前端框架

  3. 主機批量管理:也是調用SaltStack Restful API實現批量執行命令,結果返回到前端頁面,並提供Minion增刪。服務器

  4. 自動部署軟件:目前是使用預寫好的腳本完成安裝,準備改爲Salt sls配置管理部署軟件。架構

  5. 其餘功能還在繼續開發中框架

 

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

 wKiom1gK_NvRrRX-AAeRwKxHxfw074.gif


個人學習心得:

用了小一個月時間寫了這個運維管理平臺,算是一段學習的總結吧!實現了一些基本的功能,跟生產環境的系統還有很大距離!如今一想其實實現起來沒想象的那麼高不可攀,能夠說用到的技術都是基礎的東西,並無多高深,因此學習起來並非很難。本身要完成這樣的平臺,思路很重要,好比數據可視化該怎麼展現,數據怎麼處理等等。涉及到從前端到後端再到數據庫表設計及存儲的一系列流程,這些都要有所瞭解,不然會侷限你的思路。所以寫好一個比較完善的平臺,開發能力會有很大的提升。固然薪資也緊跟着蹭蹭的漲啦!

該怎麼學習呢?

剛入門的同窗,大都會問這個問題,本身毫無頭緒,不知如何下手!能夠理解,每一個人都會經歷這個階段,跨過去你就稱爲羣裏所謂的大牛了。哈哈,是否是頗有成就感。沒錯!

那麼,如下給你們提供些學習思路,僅供參考:

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

第二步:掌握一種Python Web框架,推薦使用重量級Django框架,雖然剛開始入門有點難,可是如今最爲主流,使用最多,功能齊全,通常都能知足咱們的需求了。固然,若是對Django感冒,能夠選擇輕量級Flask框架入門簡單,學習成本低。在這裏,順便再看看HTTP協議工做原理,好比幾種請求方式、工做流程等。

第三步:數據庫基本的增刪改查必會。

第四步:後端的東西前三步就差很少了。該前端了,毋庸置疑HTML/CSS基礎必會,能夠先學習經常使用的標籤、選擇器、樣式屬性等。原生JavaScript基礎先要了解下,再考慮使用封裝好的JSJquery作頁面行爲控制,重點看看Jquery事件處理、獲取屬性內容、設置元素內容等,比原生JS用着更簡單,也是主流的。學習完後試着寫幾個小頁面檢查本身的學習成果。

第五步:本身寫HTML/CSS頁面剛開始入門,寫起來比較費勁,並且瀏覽器兼容性不是很好。能夠考慮使用開源的前端框架,提升開發速度,不用過多考慮兼容性。我所知道這樣的前端框架有BootstrapSemanticUI、EasyUI,還有不少,選一個本身喜歡的就好,先學習其中一些經常使用的樣式,好比表格、表單、按鈕等。其餘的用到啥再看也來得及。

第六步:選擇一個本身喜歡模板。決定使用哪一個前端框架後,在網上搜索下找一個好看的前端頁面模板,好比搜索關鍵詞爲"Bootstrap模板",會有不少。咱們主要就是用它的排版和一些主頁面,再去除一些功能,簡單修改下本身想要的頁面就出來了,再加上你所學的前端框架樣式,能夠很快捷的實現某個功能,很省心。

第七步:與後端交互數據,常常用到Ajax技術,好比實時從後端獲取新數據展現、傳數據到後端等。Ajax也建議使用Jquery的,緣由仍是使用簡單。這時要學習一下JS定時器,用於控制Ajax獲取數據時間間隔,常常會用到,也很簡單。還有WebSocket技術,是一種瀏覽器與服務器創建長鏈接,進行實時傳輸數據。在某種場景下很實用,好比WEB SSH,能夠簡單瞭解下。

第八步:嵌入主流的管理工具,完成某項工做。好比我想作批量管理,就不必本身再去寫腳本去作批量執行了,SaltStackAnsible都是這類主流的工具,到時直接調用它們的API就好,功能上也要比本身寫完善不少,不是挺好嘛!


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

羣裏朋友常常問,能看懂代碼,就是寫不出來,怎麼辦啊?這是一個很典型的問題,仍是在於代碼寫的少,即便寫的多也都是複製別人的,沒有實際學習意義。要想提升技術能力,只有一個不變的真理,多學習、多實踐、多總結!

就說這麼多了,以上就是我我的對想轉運維開發的朋友們一點學習思路,不能說徹底是對的,可是思路我以爲沒問題。


少了一步很重要的,學習期間不免會遇到各類各樣的問題,這時該怎麼辦呢?不要一有問題就立刻問同事、技術羣,先試着網上查資料,問度娘、谷狗,要學會去獨立排查問題,長此以往處理問題思惟就很強了。實在解決不了,這時你應該會想到加技術羣了,沒錯!在羣裏,會有一些熱心的前輩給你傳授經驗,不但能解決問題,還能吸收其餘的經驗,多好!

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


QQ技術羣:

Python運維開發羣(249171211

Docker技術交流羣(719105297


image.png

相關文章
相關標籤/搜索