一 背景
在性能测试或Linux服务器运维中,都会涉及对系统资源使用情况的监控,除了常用的系统命令外(如top、iostat、free等),比较全面的资源数据监控工具是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使用情况的代码如下:
其他资源的获取情况类似,不再赘述。
四 效果展示
根据实现的脚本,分析各服务器的.nmon文件并生成html报告的效果如下:
五 总结
Nmon是常用的性能监控工具,常用的nmon_analyser.xlsm工具分析nmon的方法在性能自动化中并不适用,因而介绍了使用python脚本直接分析nmon文件并获得性能指标数据的方法。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。