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

比如:nmon -f -s 1。
nmon CPU and Disk utilization
會(huì)創(chuàng)建一個(gè)日志文件,該日志文件最開頭是一些系統(tǒng)的元數(shù)據(jù)(AAA - BBBV 部分),后面是所監(jiān)控的系統(tǒng)屬性的定時(shí)快照,比如 CPU 和內(nèi)存的使用情況。這個(gè)輸出的文件很難直接由電子表格應(yīng)用來處理,因此誕生了 Nmon_Analyzer excel 宏。如果你用的是 Windows/Mac 并安裝了 Microsoft Office,那么這個(gè)工具非常不錯(cuò)。如果沒有這個(gè)環(huán)境那也可以使用 Nmon2rrd 工具,這個(gè)工具能將日志文件轉(zhuǎn)換 RRD 輸入文件,進(jìn)而生成圖形。這個(gè)過程很死板而且有點(diǎn)麻煩。現(xiàn)在出現(xiàn)了一個(gè)更靈活的工具,我向你們介紹一下 pyNmonAnalyzer,它提供了一個(gè)可定制化的解決方案來生成結(jié)構(gòu)化的 CSV 文件和帶有用 matplotlib 生成的圖片的簡(jiǎn)單 HTML 報(bào)告。
入門介紹
系統(tǒng)需求:
從名字中就能看出我們需要有 python。此外 pyNmonAnalyzer 還依賴于 matplotlib 和 numpy。若你使用的是 debian 衍生的系統(tǒng),則你需要先安裝這些包:
$ sudo apt-get install python-numpy python-matplotlib
獲取 pyNmonAnalyzer:
你可以克隆 git 倉(cāng)庫(kù):
$ git clone git@github.com:madmaze/pyNmonAnalyzer.git
或者,直接從這里下載:pyNmonAnalyzer-1.0.zip 。(LCTT 譯注:這是個(gè) 5 年前的項(xiàng)目但是一直在陸陸續(xù)續(xù)的進(jìn)行維護(hù))
接下來我們需要一個(gè) Nmon 文件,如果沒有的話,可以使用發(fā)行版中提供的實(shí)例或者自己錄制一個(gè)樣本:nmon -F test.nmon -s 1 -c 120,會(huì)錄制 120 個(gè)快照,每秒一個(gè),存儲(chǔ)到 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)
該工具有兩個(gè)主要的選項(xiàng)
- 將 nmon 文件傳喚成一系列獨(dú)立的 CSV 文件
- 使用 matplotlib 生成帶圖形的 HTML 報(bào)告
下面命令既會(huì)生成 CSV 文件,也會(huì)生成 HTML 報(bào)告:
$ ./pyNmonAnalyzer.py -c -b test.nmon
這會(huì)創(chuàng)建一個(gè) ./data 目錄,其中有一個(gè)存放 CSV 文件的目錄 (./data/csv/),一個(gè)存放 PNG 圖片的目錄 (./data/img/) 以及一個(gè) HTML 報(bào)告 (./data/report.html)。
默認(rèn)情況下,HTML 報(bào)告中會(huì)用圖片展示 CPU、磁盤繁忙程度、內(nèi)存使用情況和網(wǎng)絡(luò)傳輸情況。所有這些都定義在一個(gè)不言自明的配置文件中 (report.config)。目前這個(gè)工具還不是特別的靈活,因?yàn)?CPU 和 MEM 除了 on 和 off 外,無法做其他的配置。不過下一步將會(huì)改進(jìn)作圖的方法并允許用戶靈活地指定針對(duì)哪些數(shù)據(jù)使用哪種作圖方法。
目前這些報(bào)告還十分的枯燥而且只能打印出基本的幾種標(biāo)記圖表,不過它的功能還在不斷的完善中。目前在開發(fā)的是一個(gè)向?qū)碜屌渲谜{(diào)整變得更容易。如果有任何建議,找到任何 bug 或者有任何功能需求,歡迎與我交流。
當(dāng)前文章:Python版的Nmon分析器:讓你遠(yuǎn)離excel宏
鏈接地址:http://m.5511xx.com/article/dhjcccc.html


咨詢
建站咨詢
