一背景
創(chuàng)新互聯(lián)公司是少有的成都做網(wǎng)站、成都網(wǎng)站制作、營銷型企業(yè)網(wǎng)站、微信小程序定制開發(fā)、手機APP,開發(fā)、制作、設(shè)計、友情鏈接、推廣優(yōu)化一站式服務(wù)網(wǎng)絡(luò)公司,從2013年開始,堅持透明化,價格低,無套路經(jīng)營理念。讓網(wǎng)頁驚喜每一位訪客多年來深受用戶好評
在性能測試或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)心的性能指標數(shù)據(jù)呢?
二 nmon及其常用數(shù)據(jù)處理方法
nmon是一款用于系統(tǒng)監(jiān)視、性能測試分析及調(diào)優(yōu)的免費工具,它能夠一次性提供關(guān)于系統(tǒng)及資源使用情況的大量性能指標信息,如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文件并獲取性能指標數(shù)據(jù)的方法。
首先,.nmon文件本質(zhì)是文本文件,可以使用python直接進行讀寫操作;
其次,通過分析關(guān)心指標數(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文件并獲得性能指標數(shù)據(jù)的方法。