標籤:python 營運 軟體工程 連載
公司接管的一個小項目,客戶提出了一個營運方面的需求,就是通過一條命令,或一個指令碼能夠擷取多台伺服器的各項效能。
毫無疑問,我自然想到用Python來寫一個滿足上述的需求的小工具。以下是詳細的操作流程。
搭建Python第三方模組paramiko 。
詳見前面的部落格
擷取要所有伺服器的IP地址,使用者名稱和密碼。
因為執行paramiko模組需要這些資訊。
3.編寫代碼。
代碼主要經曆兩個版本。
version 1.1.1
650) this.width=650;" src="https://s5.51cto.com/wyfs02/M02/06/AF/wKiom1m777TimW3TAADmY2sY1wQ385.jpg-wh_500x0-wm_3-wmp_4-s_1290610938.jpg" title="ui.jpg" alt="wKiom1m777TimW3TAADmY2sY1wQ385.jpg-wh_50" />
#安裝paramiko module的主機ip是167,第一個版本,沒有寫進代碼。
vision 1.1.2
650) this.width=650;" src="https://s3.51cto.com/wyfs02/M01/06/AF/wKiom1m78XbzV35tAAD6sKZOmdM116.jpg-wh_500x0-wm_3-wmp_4-s_1176103116.jpg" title="u2.jpg" alt="wKiom1m78XbzV35tAAD6sKZOmdM116.jpg-wh_50" />
上述的代碼用localhost就可以把與本機進行通訊,而不需要另外調用的shell命令的Python模組。
到此為止,項目的所有主機的記憶體,磁碟等資訊都執行一個指令碼就可以全部擷取到了。後續的版本是如何格式化輸出,還有利用儲存,在瀏覽器裡展示,甚至是C/S架構。想想ansible 不就是整合各種資源了誕生的。
本文出自 “12723827” 部落格,請務必保留此出處http://jason83.blog.51cto.com/12723827/1965769
構建Python軟體大廈系列