背景
业内使用loadrunner做性能测试时,基本上是使用nmon做服务器资源监控。
nmon大家都熟悉,简单易用,占用资源少;缺点是输出文件转表格比较麻烦,且过多无用数据,生成的excel几十页图表中常用的只有4页左右。
所以为大家介绍一款基于nmon的监控工具easynmon,在nmon的基础上二次开发而成,只对cpu、memory、network和disk io进行监控且在同一页面生成可视化折线图,方便大家使用。
工具介绍
easyNmon,基于nmon的使用go做二次开发的服务器资源监控工具
效果图如下
1.第一张图的绿线为总cpu使用,蓝线为软件user占用的cpu;
ps:蓝线的总cpu占用绿色折线会超出图的上框,此bug已提给开发者,可能已经修复。
2.内存使用图主要关注free线和total线
3.网络带宽占用线整体平稳就没有问题
4.磁盘黄线为读,蓝线为写的曲线
部署过程
1.下载安装包
github:https://github.com/mzky/easyNmon
默认nmon为CentOS版本(CentOS6.5~7.4正常),Ubuntu和SUSE需要下载对应版本的nmon替换
资源下载:
https://download.csdn.net/download/wangbinaaa/11467438
2.复制到服务器上,赋予可执行权限
3.解压缩
tar -zxvf easyNmon.tar.gz
4.查看生成的easyNmon路径下有nmon、web、easyNmon可执行文件
5.运行easyNmon
./easyNmon
可看到服务已经启动。可通过ip+默认端口进行访问
修改默认参数方法在上图中已经给出
6.web登录配置任务查看报告
6.1 这个页面非常简单,完全按说明操作就好了
上面大模块分别是对任务的配置创建,任务停止,服务停止
下面大模块就是查看报告和当前服务器基本信息
进阶用法
1.easyNmon启动方式
1.1 后台启动
./easyNmon &
&符号代表此命令后台执行
1.2 后台启动,关闭控制台仍然生效,生成log
nohup ./easyNmon >log.log 2>&1 &
nohup为挂起不会被中断使用
2.jmeter触发创建监控任务
重点:这是干货 这是干货 这是干货
1.前面执行easyNmon的信息已经给出接口
接口(Get):
/start 启动监控,接口方式时,所有参数非必选
参数n为生成报告的文件名,
参数t为监控时长(单位分钟),
参数f为监控频率,每隔多少秒收集一次;
http://172.16.60.77:9999/start?n=name&t=30&f=30
/stop 停止所有监控任务:
http://172.16.60.77:9999/stop
/report 查看报告:
http://172.16.60.77:9999/report
/close 关闭自身:
http://172.16.60.77:9999/close
以jmeter测试开始启动一个监控任务为例
测试的线程之前添加一个线程,添加仅一次控制器,配置请求如图
参数n表示报告文件名主体,t为持续时间长(分钟),f为刷新频率(秒)
配置好后执行测试脚本,就会在压测之前触发创建任务,通过web实时监控
踩过的坑
easyNmon运行,创建任务后报告没有数据,log显示解析nmon报告错误
尝试更换nmon版本,无效果
手动执行nmon+参数,生成的报告自己转excel没有问题
更换easyNmon的版本到上一个发行版1.7,问题解决
怀疑最新1.8版本在我写此篇博客的时间点还有大bug要修