公司接管的一個小項目,客戶提出了一個運維方面的需求,就是通過一條命令,或一個腳本能夠獲取多臺服務(wù)器的各項性能。
成都創(chuàng)新互聯(lián)公司服務(wù)項目包括望奎網(wǎng)站建設(shè)、望奎網(wǎng)站制作、望奎網(wǎng)頁制作以及望奎網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,望奎網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到望奎省份的部分城市,未來相信會繼續(xù)擴大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
毫無疑問,我自然想到用Python來寫一個滿足上述的需求的小工具。以下是詳細(xì)的操作流程。
搭建Python第三方模塊paramiko 。
詳見前面的博客
獲取要所有服務(wù)器的IP地址,用戶名和密碼。
因為執(zhí)行paramiko模塊需要這些信息。
3.編寫代碼。
代碼主要經(jīng)歷兩個版本。
version 1.1.1
#安裝paramiko module的主機ip是167,第一個版本,沒有寫進代碼。
vision 1.1.2
上述的代碼用localhost就可以把與本機進行通訊,而不需要另外調(diào)用的shell命令的Python模塊。
到此為止,項目的所有主機的內(nèi)存,磁盤等信息都執(zhí)行一個腳本就可以全部獲取到了。后續(xù)的版本是如何格式化輸出,還有利用存儲,在瀏覽器里展示,甚至是C/S架構(gòu)。想想ansible 不就是整合各種資源了誕生的。