Linux中國

Python 版的 Nmon 分析器:讓你遠離 excel 宏

Nigel's monitor,也叫做 「Nmon」,是一個很好的監控、記錄和分析 Linux/*nix 系統性能隨時間變化的工具。Nmon 最初由 IBM 開發並於 2009 年夏天開源。時至今日 Nmon 已經在所有 Linux 平台和架構上都可用了。它提供了很棒的當前系統統計信息的基於命令行的實時可視化報告,這些統計信息包括 CPU、RAM、網路和磁碟 I/O。然而,Nmon 最棒的特性是可以隨著時間的推移記錄系統性能快照。

比如:nmon -f -s 1

nmon CPU and Disk utilization

會創建一個日誌文件,該日誌文件最開頭是一些系統的元數據(AAA - BBBV 部分),後面是所監控的系統屬性的定時快照,比如 CPU 和內存的使用情況。這個輸出的文件很難直接由電子表格應用來處理,因此誕生了 Nmon_Analyzer excel 宏。如果你用的是 Windows/Mac 並安裝了 Microsoft Office,那麼這個工具非常不錯。如果沒有這個環境那也可以使用 Nmon2rrd 工具,這個工具能將日誌文件轉換 RRD 輸入文件,進而生成圖形。這個過程很死板而且有點麻煩。現在出現了一個更靈活的工具,我向你們介紹一下 pyNmonAnalyzer,它提供了一個可定製化的解決方案來生成結構化的 CSV 文件和帶有用 matplotlib 生成的圖片的簡單 HTML 報告。

入門介紹

系統需求:

從名字中就能看出我們需要有 python。此外 pyNmonAnalyzer 還依賴於 matplotlib 和 numpy。若你使用的是 debian 衍生的系統,則你需要先安裝這些包:

$ sudo apt-get install python-numpy python-matplotlib

獲取 pyNmonAnalyzer:

你可以克隆 git 倉庫:

$ git clone git@github.com:madmaze/pyNmonAnalyzer.git

或者,直接從這裡下載:pyNmonAnalyzer-1.0.zip 。(LCTT 譯註:這是個 5 年前的項目但是一直在陸陸續續的進行維護)

接下來我們需要一個 Nmon 文件,如果沒有的話,可以使用發行版中提供的實例或者自己錄製一個樣本:nmon -F test.nmon -s 1 -c 120,會錄製 120 個快照,每秒一個,存儲到 test.nmon 文件中。

讓我們來看看基本的幫助信息:

$ ./pyNmonAnalyzer.py -h
usage: pyNmonAnalyzer.py [-h] [-x] [-d] [-o OUTDIR] [-c] [-b] [-r CONFFNAME]
 input_file

nmonParser converts Nmon monitor files into time-sorted
CSV/Spreadsheets for easier analysis, without the use of the
MS Excel Macro. Also included is an option to build an HTML
report with graphs, which is configured through report.config.

positional arguments:
 input_file Input NMON file

optional arguments:
 -h, --help show this help message and exit
 -x, --overwrite overwrite existing results (Default: False)
 -d, --debug debug? (Default: False)
 -o OUTDIR, --output OUTDIR
 Output dir for CSV (Default: ./data/)
 -c, --csv CSV output? (Default: False)
 -b, --buildReport report output? (Default: False)
 -r CONFFNAME, --reportConfig CONFFNAME
 Report config file, if none exists: we will write the
 default config file out (Default: ./report.config)

該工具有兩個主要的選項

  1. 將 nmon 文件傳喚成一系列獨立的 CSV 文件
  2. 使用 matplotlib 生成帶圖形的 HTML 報告

下面命令既會生成 CSV 文件,也會生成 HTML 報告:

$ ./pyNmonAnalyzer.py -c -b test.nmon

這會創建一個 ./data 目錄,其中有一個存放 CSV 文件的目錄 (./data/csv/),一個存放 PNG 圖片的目錄 (./data/img/) 以及一個 HTML 報告 (./data/report.html)。

默認情況下,HTML 報告中會用圖片展示 CPU、磁碟繁忙程度、內存使用情況和網路傳輸情況。所有這些都定義在一個不言自明的配置文件中 (report.config)。目前這個工具還不是特別的靈活,因為 CPU 和 MEM 除了 onoff 外,無法做其他的配置。不過下一步將會改進作圖的方法並允許用戶靈活地指定針對哪些數據使用哪種作圖方法。

目前這些報告還十分的枯燥而且只能列印出基本的幾種標記圖表,不過它的功能還在不斷的完善中。目前在開發的是一個嚮導來讓配置調整變得更容易。如果有任何建議,找到任何 bug 或者有任何功能需求,歡迎與我交流。

via: https://matthiaslee.com/python-nmon-analyzer-moving-away-from-excel-macros/

作者:Matthias Lee 譯者:lujun9972 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的郵箱地址不會被公開。 必填項已用 * 標註

    這個站點使用 Akismet 來減少垃圾評論。了解你的評論數據如何被處理

    More in:Linux中國

    Linux中國

    捐贈 Let's Encrypt,共建安全的互聯網

    隨著 Mozilla、蘋果和谷歌對沃通和 StartCom 這兩家 CA 公司處罰落定,很多使用這兩家 CA 所簽發證書的網站紛紛尋求新的證書籤發商。有一個非盈利組織可以為大家提供了免費、可靠和安全的 SSL 證書服務,這就是 Let's Encrypt 項目。現在,它需要您的幫助
    Linux中國

    關於Linux防火牆iptables的面試問答

    Nishita Agarwal是Tecmint的用戶,她將分享關於她剛剛經歷的一家公司(印度的一家私人公司Pune)的面試經驗。在面試中她被問及許多不同的問題,但她是iptables方面的專家,因此她想分享這些關於iptables的問題和相應的答案給那些以後可能會進行相關面試的人。 所有的問題和相應的答案都基於Nishita Agarwal的記憶並經過了重寫。 嗨,朋友!我叫Nishita Agarwal。我已經取得了理學學士學位,我的專業集中在UNIX和它的變種(BSD,Linux)。它們一直深深的吸引著我。我在存儲方面有1年多的經驗。我正在尋求職業上的變化,並將供職於印度的P
    Linux中國

    Lets Encrypt 已被所有主流瀏覽器所信任

    旨在讓每個網站都能使用 HTTPS 加密的非贏利組織 Lets Encrypt 已經得了 IdenTrust的交叉簽名,這意味著其證書現在已經可以被所有主流的瀏覽器所信任。從這個裡程碑事件開始,訪問者訪問使用了Lets Encrypt 證書的網站不再需要特別配置就可以得到 HTTPS 安全保護了。 Lets Encrypt 的兩個中級證書 ...