久久国产乱子伦精品免费M,亚洲一区二区三区91,欧美国产在线视频,国产精品视频久久

Python自動化運維:分享高性能可擴展的實用框架

一直在用Python寫各種腳本,想做自動化運維平臺卻有心無力,沒有見過大的運維平臺怎么做,

自己寫的腳本在大的場景下是否靠譜,每當討論說一些基于ssh獲取數據執行操作的方式都會被鄙視。

迷茫大半年找不到方向,最近在reboot系統學習了下,收獲很多,很多疑惑和疑難問題終于解開了。

感謝PC老師講解,程序對系統利用的深入講解[cpu\內存的利用\系統的特性],

幾款典型開源軟件源碼的網絡模型剖析,如何真正控制多線程,守護進程如何fork的,封裝socket非阻塞的框架,如何制定傳輸協議。

  • 監控和執行命令流程圖

    高性能可擴展的Python自動化運維框架
  • 軟件目錄 [根據需要分分鐘復制出一個server,改改操作就好了]

    高性能可擴展的Python自動化運維框架
  • 任務控制服務的傳輸數據

    高性能可擴展的Python自動化運維框架
  • flask數據接口的請求日志

    高性能可擴展的Python自動化運維框架
  • agent的執行日志

    高性能可擴展的Python自動化運維框架
  • agent的4個線程,可隨意擴展需求

    高性能可擴展的Python自動化運維框架
  • 后臺請求頁面和數據接口

高性能可擴展的Python自動化運維框架
  • 頁面ajax調用數據接口

高性能可擴展的Python自動化運維框架
  • 監控數據出圖

高性能可擴展的Python自動化運維框架

哎!前面的數據,6個server同時在一個機器上跑,毫無壓力,監控圖不好看。。。。我來搞幾百個并發shell進程跑跑,把load壓上來。

  • 執行命令 [發出ajax請求,agent異步處理,傳回入庫后,再用ajax動態調用數據接口顯示]

高性能可擴展的Python自動化運維框架

總結

此架構非常靈活,任意拆裝拼接,如果小,可功能集成于一點,如果大,可隨意擴展瓶頸,server全部守護進程方式。

一切魔法都封裝在nbNet模塊中,socket非阻塞,自定義傳輸協議,QPS幾萬毫無壓力,所有模塊全部導入這個nbNet模塊,收發接口全部統一,就可隨意拼接,3分鐘就可以擴展出一個不同功能的server。得此神器,只有想不到沒有做不到。

nbNet模塊中2個重要功能,已經全部封裝好了,只需要調用即可。

sendData(sock_a, "reboot", 50003, input)   # 發送數據,也可任意發多份給不同server
nbNet(self.host, self.port, transfer)      # 接收數據

flask_web 就是極簡單的幾個數據接口和html頁面,不得不承認大家確實都覺得一些比較炫的web頁面就很牛,不會過多關注后臺怎么回事,有張漂亮的臉也確實吸引 人,不過確實需要花不少時間折騰,像我這種根本不懂審美,時間又有限,只能做成這個熊樣了,真心不喜歡折騰web頁面,啥時候用啥時候看,看過了還是忘, 這里緊緊做了一些監控出圖和執行命令的ajax調用。底層框架有了,頁面隨便找個做前端的小妹紙配合下就好了。

其他的server流程基本一致,不做過多重復展示了,文件傳輸在另外一個分支上做了,暫時沒有合并,有這套框架,業務和功能比較好擴展了。

這里關于諸多實際情況都做出了考慮,比如agent睡眠時間漂移,監控數據丟失后時間戳不連續,報警動態加載配置,網絡狀態不好等等。但還是有很多細節需要逐步完善的地方

相關新聞

歷經多年發展,已成為國內好評如潮的Linux云計算運維、SRE、Devops、網絡安全、云原生、Go、Python開發專業人才培訓機構!

    1. 主站蜘蛛池模板: 桓仁| 甘孜| 崇文区| 太谷县| 内黄县| 娱乐| 琼海市| 岑巩县| 仁怀市| 仪征市| 革吉县| 巴彦县| 大洼县| 丰原市| 抚州市| 富源县| 绥棱县| 江油市| 新巴尔虎右旗| 福建省| 鄂托克旗| 江津市| 景谷| 堆龙德庆县| 阿拉善右旗| 进贤县| 阜阳市| 阿荣旗| 北宁市| 沙雅县| 清水县| 闽清县| 嵩明县| 察哈| 林甸县| 厦门市| 海宁市| 海伦市| 辽源市| 杂多县| 平昌县|