新聞中心
Nigel's monitor,也叫做 “Nmon”,是一個很好的監(jiān)控、記錄和分析 Linux/*nix 系統(tǒng)性能隨時間變化的工具。Nmon 最初由 IBM 開發(fā)并于 2009 年夏天開源。時至今日 Nmon 已經(jīng)在所有 Linux 平臺和架構(gòu)上都可用了。它提供了很棒的當(dāng)前系統(tǒng)統(tǒng)計信息的基于命令行的實時可視化報告,這些統(tǒng)計信息包括 CPU、RAM、網(wǎng)絡(luò)和磁盤 I/O。然而,Nmon 最棒的特性是可以隨著時間的推移記錄系統(tǒng)性能快照。

比如:nmon -f -s 1。
nmon CPU and Disk utilization
會創(chuàng)建一個日志文件,該日志文件最開頭是一些系統(tǒng)的元數(shù)據(jù)(AAA - BBBV 部分),后面是所監(jiān)控的系統(tǒng)屬性的定時快照,比如 CPU 和內(nèi)存的使用情況。這個輸出的文件很難直接由電子表格應(yīng)用來處理,因此誕生了 Nmon_Analyzer excel 宏。如果你用的是 Windows/Mac 并安裝了 Microsoft Office,那么這個工具非常不錯。如果沒有這個環(huán)境那也可以使用 Nmon2rrd 工具,這個工具能將日志文件轉(zhuǎn)換 RRD 輸入文件,進(jìn)而生成圖形。這個過程很死板而且有點(diǎn)麻煩?,F(xiàn)在出現(xiàn)了一個更靈活的工具,我向你們介紹一下 pyNmonAnalyzer,它提供了一個可定制化的解決方案來生成結(jié)構(gòu)化的 CSV 文件和帶有用 matplotlib 生成的圖片的簡單 HTML 報告。
入門介紹
系統(tǒng)需求:
從名字中就能看出我們需要有 python。此外 pyNmonAnalyzer 還依賴于 matplotlib 和 numpy。若你使用的是 debian 衍生的系統(tǒng),則你需要先安裝這些包:
$ sudo apt-get install python-numpy python-matplotlib
獲取 pyNmonAnalyzer:
你可以克隆 git 倉庫:
$ git clone [email protected]:madmaze/pyNmonAnalyzer.git
或者,直接從這里下載:pyNmonAnalyzer-1.0.zip 。(LCTT 譯注:這是個 5 年前的項目但是一直在陸陸續(xù)續(xù)的進(jìn)行維護(hù))
接下來我們需要一個 Nmon 文件,如果沒有的話,可以使用發(fā)行版中提供的實例或者自己錄制一個樣本:nmon -F test.nmon -s 1 -c 120,會錄制 120 個快照,每秒一個,存儲到 test.nmon 文件中。
讓我們來看看基本的幫助信息:
$ ./pyNmonAnalyzer.py -husage: pyNmonAnalyzer.py [-h] [-x] [-d] [-o OUTDIR] [-c] [-b] [-r CONFFNAME]input_filenmonParser converts Nmon monitor files into time-sortedCSV/Spreadsheets for easier analysis, without the use of theMS Excel Macro. Also included is an option to build an HTMLreport with graphs, which is configured through report.config.positional arguments:input_file Input NMON fileoptional arguments:-h, --help show this help message and exit-x, --overwrite overwrite existing results (Default: False)-d, --debug debug? (Default: False)-o OUTDIR, --output OUTDIROutput dir for CSV (Default: ./data/)-c, --csv CSV output? (Default: False)-b, --buildReport report output? (Default: False)-r CONFFNAME, --reportConfig CONFFNAMEReport config file, if none exists: we will write thedefault config file out (Default: ./report.config)
該工具有兩個主要的選項
- 將 nmon 文件傳喚成一系列獨(dú)立的 CSV 文件
- 使用 matplotlib 生成帶圖形的 HTML 報告
下面命令既會生成 CSV 文件,也會生成 HTML 報告:
$ ./pyNmonAnalyzer.py -c -b test.nmon
這會創(chuàng)建一個 ./data 目錄,其中有一個存放 CSV 文件的目錄 (./data/csv/),一個存放 PNG 圖片的目錄 (./data/img/) 以及一個 HTML 報告 (./data/report.html)。
默認(rèn)情況下,HTML 報告中會用圖片展示 CPU、磁盤繁忙程度、內(nèi)存使用情況和網(wǎng)絡(luò)傳輸情況。所有這些都定義在一個不言自明的配置文件中 (report.config)。目前這個工具還不是特別的靈活,因為 CPU 和 MEM 除了 on 和 off 外,無法做其他的配置。不過下一步將會改進(jìn)作圖的方法并允許用戶靈活地指定針對哪些數(shù)據(jù)使用哪種作圖方法。
目前這些報告還十分的枯燥而且只能打印出基本的幾種標(biāo)記圖表,不過它的功能還在不斷的完善中。目前在開發(fā)的是一個向?qū)碜屌渲谜{(diào)整變得更容易。如果有任何建議,找到任何 bug 或者有任何功能需求,歡迎與我交流。
網(wǎng)站標(biāo)題:Python版的Nmon分析器:讓你遠(yuǎn)離excel宏
分享鏈接:http://m.fisionsoft.com.cn/article/dhjcccc.html


咨詢
建站咨詢
