python分析nmon並獲取性能指標數據的姿勢是這樣的

背景

在性能測試或Linux服務器運維中,都會涉及對系統資源使用情況的監控,除了常用的系統命令外(如topiostatfree等),比較全面的資源數據監控工具是NMON,通過在服務器上運行NMON可以定期監控硬件資源並將採集數據生成到.nmon文件中。因此,問題就來了,在自動化監控中,如何實現對.nmon文件的解析並獲得關心的性能指標數據呢?

 

nmon及其常用數據處理方法

nmon是一款用於系統監視、性能測試分析及調優的免費,它能夠一次性提供關於系統及資源使用情況的大量性能指標信息,如CPU、內存、網絡、磁盤IO等。

常用nmon使用方法是:

1.       開啓nmon

./nmon_linux_64 -s 10 -c 60 -f -m /home/nmon

其中-s 指定每次採集間隔時間;-c 指定採集次數;-f 指定輸出使用電子表格格式;-m 在命令將數據保存至文件之前切換目錄。

2.       分析nmon數據

使用上述命令,採集次數到達後,會在指定目錄生成xxxx.nmon的文件,分析.nmon文件的常用方法是使用nmon_analyser.xlsm,通過導入.nmon文件,將數據顯示在excel文件中。

 

python解析nmon的姿勢

通過上述分析,獲取nmon文件數據的常用方法主要應用在交互模式下,並不適合在性能自動化或自動化運維監控中。下面將介紹使用python解析nmon文件並獲取性能指標數據的方法。

首先.nmon文件本質是文本文件,可以使用python直接進行讀寫操作;

其次,通過分析關心指標數據的位置,通過正則匹配的方法獲取數據;

最後,將數據彙總寫入html,用於展示各個服務器上的資源使用情況;

根據上述思路,實現解析.nmon並獲得CPU使用情況的代碼如下:

 

6666.png


其他資源的獲取情況類似,不再贅述。

 

效果展示

根據實現的腳本,分析各服務器的.nmon文件並生成html報告的效果如下:

 

5555.png


總結

Nmon是常用的性能監控工具,常用的nmon_analyser.xlsm工具分析nmon的方法在性能自動化中並不適用,因而介紹了使用python腳本直接分析nmon文件並獲得性能指標數據的方法。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章