nmon性能监控工具
nmon analyser
no mo an ne lai re
性能数据采集
**第一步:**首先查看自己的linux版本号,然后去下载对应的版本nmon工具包,也可以用wget命令直接联网下载,但是比较慢,建议直接下载下来后上传到linux目录里面。
1、执行uname -a 查看版本:
2、查看linux系统供应商,输入命令:cat /proc/version,我的linux供应商为red hat
3、查看linux系统版本,输入命令:cat /etc/redhat-release,我的linux版本为 7.5.1804
去官网下载nmon工具,找到自己对应的版本的工具包进行下载
下载地址如下:
/pmwiki.php?n=Site.Download
往下滑动,找到自己所需要的版本
这里我用的是这个版本,我的linux版本是CentOS 7.5.1804 x86_64
下载好了后,是一个压缩包,解压,并且找到自己要的文件
将这个文件,上传到服务器里面,可以直接使用rz命令上传,或者使用面板工具拖拽都可以
我这里上传的是/usr/local/bin目录下(/usr/local/bin默认在环境变量中,系统可识别其目录下的可执行程序,可直接运行)也就是,在任意目录下,输入nmon即可访问nmon
我的操作如下:
先cd到了对应目录,然后ls看看里面的文件,然后rz上传文件
上传好了后,使用mv,进行改名,方面后面调用
然后改完名称后用ls确认一下名称,最后用chmod进行了一次赋权,给了执行权限
然后就可以直接使用./nmon或者直接输入nmon进行运行了,运行结果如下:
在该页面下,输入q退出,输入c可以监控cpu,输入m可以监控内存,输入n可以监控i/o读写等等
比top命令要直观的多,这里显示的都是实时的信息,如果要是收集每隔几秒一次,可以用参数 -s10表示每隔10秒收集一次性能信息,-c1000为收集1000次,等等。
为了配合性能测试,我们往往需要将一个时间段内系统资源消耗情况记录下来,
常用的nmon命令:
1:每1秒捕获数据快照,捕获20次
nmon–f -s 1 -c 20 -m /usr/local/bin/
2.每30秒捕获数据快照,捕获120次,包含进程信息
nmon –f-t-s 30 -c 120-m /usr/local/bin/
上面的命令将在当前目录中创建输出文件,其名称为: _date_time.nmon。该文件采用逗号分隔值(CSV)的格式,并且可以将其直接导入到电子表格中,可进行分析和绘制图形
参数解释:
-s每 X秒采集一次数据。-c采集 Y次,即为采集X*Y秒的数据。
-c 取出多少个抽样数量,这里为120,即监控=120_(30/60/60)=1小时_
_根据小时计算这个数字的公式为:c=h_3600/s,比如要监控10小时,每隔30秒采样一次,则c=10*3600/30=1200
-f生成的数据文件名中包含文件创建的时间。
-t在导出的信息中包含前几位的进程信息。
-m生成的数据文件的存放目录路径。
这样就会生成一个nmon文件,并每X秒更新一次,采集Y次,直到X*Y秒后。
生成的文件名如:_YYYYMMDD_HHMM.nmon,""是这台主机的主机名。
想提前停止监控,可以使用命令杀掉进程,下述方法都可:
ps -ef | grep nmon,得到PID进程号,再进行kill -9 nmon的pid
命令启动后,会在/nmon目录下生成监控文件,并持续写入资源数据,直至360个监控点收集完成——即监控1小时,这些操作均自动完成,无需手工干 预,测试人员可以继续完成其他操作,界面上看不到其运行的界面。如果想停止该监控,需要通过“#ps –ef|grep nmon”查询进程号,然后杀掉该进程以停止监控。
性能数据分析
前面介绍的是nmon命令程序监控,生成的监控结果是一个可读性非常差的文本文件,我们需要使用专门的工具来解读这个结果文件。这个工具就是nmon analyser,这个工具是IBM提供,使用Excel的宏来分析监控结果文件,加载后生成Excel图表,通过图表可以友好展示资源的情况。
nmon analyser 工具以NMON性能工具生成的文件作为输入,然后将它们转换为Microsoft Excel电子表格,并自动地生成相应的图形。
下载地址:
/pmwiki.php?n=Site.Nmon-Analyser
下载最新版本的zip压缩包即可,下载后会有两个文件
解压后,打开xlsm文件的文件,这个文件可以读取刚才linux里保存的VM-0-2-centos_220809_1157.nmon文件。将其过程生成为图标,打开这个文件,点击 Analyze nmon data 按钮选择文件。
因为大部分人,是使用wps来打开的,wps打开该文件会出现一些问题报错如下:
出现这个报错则意味着:原因是你的Excel或者wps Excel无法加载“宏”导致,而wps使用宏是需要付费的。所以需要下载一个插件即可完成使用。
基本步骤如下:
1.下载wps VBA插件并安装
2.重启nmon analyser v69_2.xlsm文件
3.如果有提示“启用宏”,那就启用吧
安装VBA For WPS
这里帮大家附上下载地址:/soft/10044352.htm
大家也可以自行去网上下载。
下载好就是如下图的1,然后解压后得到下图的2
点击2,进行安装,直接下一步即可,就三步。非常简单。
安装成功后,再次打开nmon analyser v69_2.xlsm这个文件
此时,上分会出现宏被禁用的字样,点击启动宏。
这样就可以正常启动宏,且打开文件了。
重新点击data按钮,选择刚才的nmon文件,等待加载
加载完成后,会弹出保存文件的提示框,保存为xlsx文件
保存后,打开该文件,就可以查看刚才的监控情况了,如下图
注:nmon analyser工具,推荐nmon采样300次或以内,这样生成的图形较为美观。
注:NA_UserGuide v69,该用户手册中有对各图表及列含义进行说明;
补充说明:
场景:多台服务器同时进行监控
测试过程中,有可能需要同时监控多台服务器资源情况,这时每一台上面去执行nmon监控命令,较为麻烦,且操作时间点也不一致。
可通过:在一台服务器上,同时远程执行多台服务器的nmon命令操作,以解决该问题。
操作步骤:
1)服务器之间配置信任关系;进行ssh或scp时,无需输入密码。
参见:/html/00/130600-147281.html
2)把需要远程执行的命令写入脚本中,以方便执行,参见:nmon.sh;
3)把不同服务器上的日志文件下载到本地PC,通过nmon analyser工具进行分析;也可使用远程执行命令方式,在同一台服务器上进行操作下载.nmon文件(存放目录、文件命名规范,可方便操作);
cat nmon.sh
#!/bin/bashmkdir -p /tmp/nmon\_monitor/usr/local/bin/nmon -f -t -s 5 -c100-m /tmp/nmon\_monitor -F 146.182\_$1.nmonssh root@192.168.146.180 'mkdir -p /tmp/nmon\_monitor;/usr/local/bin/nmon-f -t -s 5 -c100-m /tmp/nmon\_monitor -F 146.180\_'$1'.nmon'ssh root@192.168.148.137'mkdir -p /tmp/nmon\_monitor;/usr/local/bin/nmon-f -t -s 5 -c100-m /tmp/nmon\_monitor -F 148.137\_'$1'.nmon'
脚本说明:
1)生成的.nmon文件,推荐放在同一目录下,如:-m参数指定的:/tmp/nmon_monitor;
2)生成的.nmon文件,推荐增加IP或hostname标识,下载到本地时,不同服务器数据不会弄混,如:146.182_$1.nmon;
3).nmon文件中,使用了参数$1,用于传参给生成的文件名,如:./nmon.sh 0901_01;则生成的文件为:146.182_0901_01.nmon;
4)-s 5 -c100根据实际指定,这里表示每隔5秒采集一次数据,共采集100次,即持续5*100=500秒;
场景:定期监控
除配合性能测试的短期监控,我们也可以实现对系统的定期监控,作为运营维护阶段的参考。定期监控实现如下:
执行命令:#crontab –e
在最后一行添加如下命令:0 8 * * 1,2,3,4,5 /nmon -f -N -m /nmon/log -s 30 -c 1200表示:周一到周五,从早上08点开始,监控10个小时(到18:00整为止),输出到/nmon/log