linux性能监控工具nmon生成HTML报告-EasyNmon
github:https://github.com/mzky/easyNmon
码云:https://gitee.com/mzky/easyNmon
新版更新了较多功能,具体参见更新日志:https://github.com/mzky/easyNmon/wiki/ChangeLog
注意:最新版本启动程序由monitor改名为easyNmon,避免与其它工具冲突
# EasyNmon #
为了方便多场景批量性能测试,用golang写了个监控程序,可以通过get url方式启动和停止nmon服务,非常适合配合Loadrunner性能测试框架和jmeter使用,可以批量执行场景并生成报告
百度网盘(以下执行文件不包含源码):
https://pan.baidu.com/s/1XCeNQPMtymlI79kgNCg1ZA
@ 注意:默认nmon为CentOS版本(CentOS6.5~7.4正常),Ubuntu和SUSE需要下载对应版本的nmon替换(SESE11.4测试正常)
1. 以下载的tar包为例,通过tar命令解压(默认权限755):
2.启动EasyNmon监控服务
输入 ./easyNmon& 启动EasyNmon服务,无需安装任何插件(后缀加&为后台运行)
关闭控制台后仍然生效的高级用法:nohup ./easyNmon>log.log 2>&1 &
3. 通过添加-h参数,查看帮助(默认端口改为9999)
4. 默认端口9999,如需修改 加上-p端口号:
5. web管理页面如图:
6. 通过get接口调用:
参考-h
7. 通过loadrunner启动监控和结束监控,示例:
创建一个新场景(与实际测试场景分离),并将以下脚本内容稍作修改后放到init下:
web_custom_request("stop", //停止所有nmon监控
"URL=http://192.168.126.166:8080/stop","Method=GET",LAST);
web_custom_request("start",
"URL=http://192.168.126.166:8080/start?n=name&t=10",//n为场景名称,不支持中文;t为监控时长,单位分钟
"Method=GET",LAST);
8. 通过jmeter开启监控示例:
添加独立的线程组,添加仅一次控制器,在http request协议中填写如图参数即可;
注:独立线程组和仅一次控制器是为了避免重复执行
需要结束任务的,自己扩展一下~
9. 生成html报告
默认自动生成html报告,手动停止任务中断的也会自动生成html报告,可通过浏览器查看生成的报告目录,选择对应项目查看报告。
选择对应的项目名称及测试时间,显示的报告图表如下,其中"保存为图片"按钮保存为显示图片的2倍大小(模版可以修改),新版已增加平均值线
10. CentOS6和7测试通过,其它系统和版本需要去nmon官方下载,并改名为nmon替换即可
以suse为例,从官方或上边百度网盘下载均可,文件如下: 根据不同系统版本,选择一个版本的nmon16g_XXX执行文件替换nmon文件,执行easyNmon。
增加了一个远程批量部署工具:
同样在开通的百度网盘,下载解压:
将easyNmon.tar.gz文件放入解压后的执行文件同目录,执行客户端工具如图:
为方便沟通,建了一个QQ群:
点击链接加入群聊【EasyNmon交流】:https://jq.qq.com/?_wv=1027&k=5sgrpm9
数据正确性对比:
1. github中提供了excel方式与本工具的对比
2. 以下为与java工具对比