標籤:python 營運自動化 大規模監控系統 高效能可擴充
Reboot營運開發千人群(365534424)即將爆滿
遇到瓶頸:
1、一直在用Python寫各種指令碼,想做自動化營運平台卻有心無力,沒有見過大的營運平台怎麼做,
2、自己寫的指令碼在大的情境下是否靠譜,每當討論說一些基於ssh擷取資料執行操作的方式都會被鄙視。
茅塞頓開:
迷茫大半年找不到方向,最近在reboot系統學習了下,收穫很多,很多疑惑和疑難問題終於解開了。
感謝PC老師講解,程式對系統利用的深入講解[cpu\記憶體的利用\系統的特性],以及怎麼定義網路編程私人協議。
幾款典型開源軟體源碼的網路模型剖析,如何真正控制多線程,守護進程如何fork的,封裝socket非阻塞的架構,如何制定傳輸協議。
作品展現:
- 監控和執行命令流程圖
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/6F/04/wKiom1WPY_zQDscmAAHzFIomllI171.jpg" title="1.jpg" alt="wKiom1WPY_zQDscmAAHzFIomllI171.jpg" />
- 軟體目錄 [根據需要分分鐘擼出一個server]
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/6F/04/wKiom1WPZlWyPqfkAARkVAneSRo480.jpg" style="float:none;" title="2.jpg" alt="wKiom1WPZlWyPqfkAARkVAneSRo480.jpg" />
任務控制服務的傳輸資料650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/6F/00/wKioL1WPaBfAptUvAAP7oOxWNco661.jpg" style="float:none;" title="3.jpg" alt="wKioL1WPaBfAptUvAAP7oOxWNco661.jpg" />
Flask資料介面的請求日誌650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/6F/00/wKioL1WPaBeQCK1dAALrg-QE7rU855.jpg" style="float:none;" title="4.jpg" alt="wKioL1WPaBeQCK1dAALrg-QE7rU855.jpg" />
- Agent的執行日誌
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/6F/04/wKiom1WPZljCc8nuAAWOWsJ7_mY203.jpg" style="float:none;" title="5.jpg" alt="wKiom1WPZljCc8nuAAWOWsJ7_mY203.jpg" />
- Agent的4個線程,可隨意擴充隨意擼
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/6F/00/wKioL1WPaBiiydheAAKyWCOinQU362.jpg" style="float:none;" title="6.jpg" alt="wKioL1WPaBiiydheAAKyWCOinQU362.jpg" />
- 後台請求頁面和資料介面
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/6F/04/wKiom1WPZlmhdtU9AAYHurd6u2w951.jpg" style="float:none;" title="7.jpg" alt="wKiom1WPZlmhdtU9AAYHurd6u2w951.jpg" />
- 頁面ajax調用資料介面
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/6F/00/wKioL1WPaBmz3RYNAAOoQm9q0w4354.jpg" style="float:none;" title="8.jpg" alt="wKioL1WPaBmz3RYNAAOoQm9q0w4354.jpg" />
- 監控資料出圖
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/6F/04/wKiom1WPZlmzk6htAAEy_ZDoVk8245.jpg" style="float:none;" title="9.jpg" alt="wKiom1WPZlmzk6htAAEy_ZDoVk8245.jpg" />
- 前面的資料,6個server同時在一個機器上跑,毫無壓力,監控圖不好看。。。。我來搞幾百個並發shell進程跑跑,把load壓上來。
- 執行命令
發出ajax請求,agent非同步處理,傳回入庫後,再用ajax動態調用資料庫API顯示
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/6F/00/wKioL1WPaBmwynchAAKYmIduKQg139.jpg" style="float:none;" title="10.jpg" alt="wKioL1WPaBmwynchAAKYmIduKQg139.jpg" />
總結:
此架構非常靈活,任意拆裝拼接,如果小,可功能整合於一點,如果大,可隨意擴充瓶頸,server全部守護進程方式。
以上是這段時間學習的成果,好多優秀的細節無法全面展示,有興趣的可以聯絡Reboot營運開發群(365534424)
本文出自 “Reboot營運開發” 部落格,請務必保留此出處http://opsdev.blog.51cto.com/2180875/1668681
某群裡面同學的投稿 -- 高效能可擴充的python自動化營運架構