您好,登錄后才能下訂單哦!
一 背景
在性能測試或Linux服務(wù)器運維中,都會涉及對系統(tǒng)資源使用情況的監(jiān)控,除了常用的系統(tǒng)命令外(如top、iostat、free等),比較全面的資源數(shù)據(jù)監(jiān)控工具是NMON,通過在服務(wù)器上運行NMON可以定期監(jiān)控硬件資源并將采集數(shù)據(jù)生成到.nmon文件中。因此,問題就來了,在自動化監(jiān)控中,如何實現(xiàn)對.nmon文件的解析并獲得關(guān)心的性能指標(biāo)數(shù)據(jù)呢?
二 nmon及其常用數(shù)據(jù)處理方法
nmon是一款用于系統(tǒng)監(jiān)視、性能測試分析及調(diào)優(yōu)的免費工具,它能夠一次性提供關(guān)于系統(tǒng)及資源使用情況的大量性能指標(biāo)信息,如CPU、內(nèi)存、網(wǎng)絡(luò)、磁盤IO等。
常用nmon使用方法是:
1. 開啟nmon
./nmon_linux_64 -s 10 -c 60 -f -m /home/nmon
其中-s 指定每次采集間隔時間;-c 指定采集次數(shù);-f 指定輸出使用電子表格格式;-m 在命令將數(shù)據(jù)保存至文件之前切換目錄。
2. 分析nmon數(shù)據(jù)
使用上述命令,采集次數(shù)到達后,會在指定目錄生成xxxx.nmon的文件,分析.nmon文件的常用方法是使用nmon_analyser.xlsm,通過導(dǎo)入.nmon文件,將數(shù)據(jù)顯示在excel文件中。
三 python解析nmon的姿勢
通過上述分析,獲取nmon文件數(shù)據(jù)的常用方法主要應(yīng)用在交互模式下,并不適合在性能自動化或自動化運維監(jiān)控中。下面將介紹使用python解析nmon文件并獲取性能指標(biāo)數(shù)據(jù)的方法。
首先,.nmon文件本質(zhì)是文本文件,可以使用python直接進行讀寫操作;
其次,通過分析關(guān)心指標(biāo)數(shù)據(jù)的位置,通過正則匹配的方法獲取數(shù)據(jù);
最后,將數(shù)據(jù)匯總寫入html,用于展示各個服務(wù)器上的資源使用情況;
根據(jù)上述思路,實現(xiàn)解析.nmon并獲得CPU使用情況的代碼如下:
其他資源的獲取情況類似,不再贅述。
四 效果展示
根據(jù)實現(xiàn)的腳本,分析各服務(wù)器的.nmon文件并生成html報告的效果如下:
五 總結(jié)
Nmon是常用的性能監(jiān)控工具,常用的nmon_analyser.xlsm工具分析nmon的方法在性能自動化中并不適用,因而介紹了使用python腳本直接分析nmon文件并獲得性能指標(biāo)數(shù)據(jù)的方法。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。