我想捕獲遠程linux服務器的性能(CPU和內存使用情況),例如在終端中輸出TOP命令,並將其導入本地Windows機器上的excel文件。 我想用python連接服務器並執行命令並記錄它的輸出。 我完全是新的python,請建議一些辦法來解決這個問題,從我應該從哪裏開始,所有。捕獲遠程linux服務器的性能?
-1
A
回答
1
看一看os.times
>>> import os
>>> os.times()
(0.01, 0.0, 0.0, 0.0, 1361716040.0)
>>> help(os.times)
times() -> (utime, stime, cutime, cstime, elapsed_time)
Return a tuple of floating point numbers indicating process times.
..並在給定頻率咪咪top
重複調用os.times
對於給定的時間。
管道到一個Excel文件,這是那麼直接,但Excel可以理解csv
,逗號分隔變量文件,所以也許像
import time
from datetime import datetime
import os
with open('output.csv', 'w') as co:
for i in range(100):
co.write('%s, %f,\n' % (datetime.now(), os.times()[0]))
time.sleep(5)
這將打開一個文件「output.csv
」,寫當前的時間和CPU使用率,等待5秒鐘,然後重複100次。然後可以在Excel中打開csv
文件。
輸出示例:
2013-02-24 14:40:12.254806, 0.01,
2013-02-24 14:40:12.304922, 0.05,
2013-02-24 14:40:12.357945, 0.06,
2013-02-24 14:40:12.404362, 0.04,
要連接到遠程服務器,看看Python的ssh2
模塊paramiko
。
編輯爲@Christian Groleau提到的,如果你打算做繁重與csv
文件,看看在csv
Python模塊。 Someone甚至已經寫了一些直接讀/寫excel文件的模塊(不是python很棒?!)
2
使用Python模塊「結構」,然後結構run
函數捕獲遠程主機上的命令輸出。
這將是這個樣子:fab get_info
從文件目錄:
import csv
from fabric.api import *
env.hosts = ['[email protected]:22']
FILENAME = '/tmp/info.csv'
def get_info():
output = run('top -bn 1')
lines = output.splitlines()
with open(FILENAME, 'wb') as csvfile:
info = csv.writer(csvfile)
for l in lines:
info.writerow(l.split())
然後運行這個。
它會從遠程機器的「top」輸出中寫入本地csv文件。然後可以從Excel打開csv文件。知道csv文件會有點難看。但是,最重要的是要把最後一條線改成更聰明的東西。
相關問題
- 1. 遠程Linux服務器上運行AAPT
- 2. 斷開了遠程Linux服務器
- 3. 遠程Linux服務器安裝計劃
- 4. 從遠程服務器捕獲數據的機制
- 5. 如何捕獲遠程服務器返回錯誤:NotFound?
- 6. 如何獲得遠程linux服務器文件inputstream
- 7. 遠程linux服務器到遠程linux服務器大型稀疏文件複製 - 如何?
- 8. 遠程服務器
- 9. 遠程服務器
- 10. SESSION不能在遠程服務器
- 11. 不能遠程訪問MySQL服務器
- 12. Logstash,獲取遠程服務器名稱
- 13. 從遠程服務器獲取圖像
- 14. 從遠程服務器獲取圖像
- 15. mysqldump的遠程服務器
- 16. 遠程服務器的RequestDispatcher?
- 17. 捕獲服務器響應
- 18. 在遠程Oracle服務器Django性能非常低
- 19. 抓取時遠程服務器性能問題
- 20. 將pscp文件從窗口服務器複製到遠程linux服務器
- 21. Java程序無法從Linux服務器遠程讀取文件
- 22. shell腳本程序從linux遠程服務器下載文件
- 23. 遠程機器的tcpdump流量捕獲
- 24. 從遠程服務器獲取遠程客戶端列表
- 25. 捕獲遠程服務器中託管的Web應用程序中的內部Web Api服務調用
- 26. JRebel遠程服務器即服務
- 27. 遠程Linux服務器上的預定檢查文件
- 28. 如何測試Linux中的遠程服務器是否啓動?
- 29. 遠程連接到Linux服務器上運行的MongoDB
- 30. 服務器無法連接到遠程計算機(Linux)的
不錯的解決方案。您可能也想看看使用csv庫的csv編寫器來創建此輸出。如果你要操縱Excel的數據,學習這個庫將使你的任務從長遠來看變得更容易。 – 2013-02-24 14:47:33