服务器监控工具EasyNmon--生成html图表

池边树下 · 2018年12月10日 · 6913 次阅读 · 3 条评论

github:https://github.com/mzky/easyNmon

码云:https://gitee.com/mzky/easyNmon

EasyNmon

为了方便多场景批量性能测试,用 golang 写了个监控程序,可以通过 get url 方式启动和停止 nmon 服务,非常适合配合 Loadrunner 性能测试框架使用,可以批量执行场景并生成报告

执行文件下载:(以下执行文件不包含源码):

https://pan.baidu.com/s/1XCeNQPMtymlI79kgNCg1ZA

@ 注意:默认 nmon 为 CentOS 版本(CentOS6.5~7.4 正常),Ubuntu 和 SUSE 需要下载对应版本的 nmon 替换(SESE11.4 测试正常)

  1. 以下载的 tar 包为例,通过 tar 命令解压(默认权限 755):

2.启动 EasyNmon 监控服务

输入 ./monitor& 启动 EasyNmon 服务,无需安装任何插件(后缀加&为后台运行)

  1. 通过添加-h 参数,查看帮助

  2. 默认端口 8080,如需修改 加上-p 端口号:

  3. web 管理页面效果如图:

  4. 通过 get 接口调用:

参考-h

  1. 通过 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);

  1. 通过 jmeter 开启监控示例:

添加独立的线程组,添加仅一次控制器,在 http request 协议中填写如图参数即可;

注:独立线程组和仅一次控制器是为了避免重复执行

需要结束任务的,自己扩展一下~

  1. 生成 html 报告

默认自动生成 html 报告,手动停止任务中断的也会自动生成 html 报告,可通过浏览器查看生成的报告目录,选择对应项目查看报告。

选择对应的项目名称及测试时间,显示的报告图表如下,其中"保存为图片"按钮保存为显示图片的 2 倍大小(模版可以修改),新版已增加平均值线

  1. CentOS6 和 7 测试通过,其它系统和版本需要去 nmon 官方下载,并改名为 nmon 替换即可

引用:
go 的 http 框架采用 gin:https://gin-gonic.github.io/gin/
图表插件采用百度的 echarts:http://echarts.baidu.com/
新版 nmon 下载地址:http://nmon.sourceforge.net/

评论列表
池边树下 发表于 2019年01月25日

word... 打错了

池边树下 发表于 2019年01月25日

@mysun365 有需求就会去做 现在新需求是多个场景的报告 比如几十个场景报告汇总并导出一份 work 文档 其中会考虑平均值问题

孙凯 发表于 2018年12月17日

不错,一般 nmon 我会在压测前已经压测后再跑一段时间,另外图表是否可以考虑 nmon 那样加上一些其他统计数据(平均值、加权平均值已经平均 cpu...)