Linux监控工具nmon使用
目录结构
一、Nmon工具简介
二、本次操作可能用到的Linux命令
三、CentOS中安装Nmon,并使用Nmon监控和采集数据
1.下载并安装Nmon的过程
2.执行脚本,启动Nmon
3.初始化Nmon工具
4.运行Nmon与查看监控的操作
5.采集数据
四、利用Nmon Analyser分析Nmon采集的数据,生成数据报告
1.设置共享文件夹,联通VMware虚拟机中CentOS系统和物理主机系统
2.物理主机从共享文件夹获取采集的数据
3.下载Nmon Analyser
4.利用Nmon Analyser分析数据,并生成数据报告
一、Nmon工具简介
Nmon工具:是IBM提供的免费在AIX系统(Advanced Interactive eXecutive,高级交互执行体,类UNIX操作系统)、各种Linux操作系统上广泛使用的监控与分析工具。
该工具可将服务器的系统资源耗费使用情况收集起来并输出一个特定的文件,并可利用excel分析工具 Nmon Analyser 进行数据的统计分析。并且,Nmon运行不会占用过多的系统资源,通常情况下CPU利用率不会超过2%。针对不同的操作系统版本,Nmon有相应版本的程序。
二、本次操作可能用到的Linux命令
操作命令 | 作用 |
---|---|
lsb_release -a | 查看系统版本号(root权限使用) |
cd / | 进入系统根目录 |
cd aaa/bbb/.../ccc | 进入指定文件目录 |
cd .. | 返回上一级目录 |
pwd | 显示当前目录的绝对路径 |
rm -rf <filename> | 删除指定文件or文件夹 |
rm -rf /aaa/.../bbb/xxx.txt | 删除指定路径下的文件 |
mv {dir} filename {new dir} filename | 移动一个目录文件到指定新位置 |
cp {dir} filename1 {new dir} filename2 | 将某个路径下的filename1文件复制到新路径下,并重命名该文件为filename2 |
chmod +x filename | 增加文件的可执行权限 |
chmod 777 filename | 增加文件的可读、可写、可执行权限 |
ls | 列出当前路径下的所有文件和目录的名称,没有展示其他详细信息 (ls内定将文件名或目录名称开头为"."的视为隐藏档,不会列出) |
ls -a | 列出所有文件及目录(会列出包含名称开头为"."的隐藏档) |
ls -l | 列出所有文件名称、文件型态、权限、拥有者、文件大小等详细信息(不会列出隐藏档的信息) |
ls -la | 列出所有文件名称、文件型态、权限、拥有者、文件大小等详细信息(会列出包含名称开头为"."的隐藏档的详细信息) |
ps -ef|grep nmon | 查找nmon程序的的进程pid号 |
kill -9 pid | 删除nmon进程,类似于Windows系统任务管理器中的结束进程 |
三、CentOS中安装Nmon,并使用Nmon监控和采集数据
操作环境:
VMware 11 + CentOS 5.1
VMware 12.5 + CentOS 6.3
1.下载并安装Nmon的过程
# 在指定位置创建一个新目录nmon
mkdir /usr/local/nmon
# 切换到所创建nmon目录的路径下
cd /usr/local/nmon
# 获取并下载指定版本的nmon程序到当前目录
wget https://sourceforge.net/projects/nmon/files/nmon_linux_14i.tar.gz
# 解压下载的nmon压缩包
tar zxvf nmon_linux_14i.tar.gz
# 为nmon配置[可读、可写、可执行](-rwxrwxrwx)权限(64-bit系统)
chmod 777 nmon_x86_64_sles11
查看操作系统版本和位数:lsb_release -a
CentOS 6.3,64bit
![](http://upload-images.jianshu.io/upload_images/4866277-48fb4b77b80cc386.png?imageMogr2/auto-orient/strip|imageView2/2/w/1005/format/webp)
在执行wget命令下载nmon的过程中,若下载不成功,出现提示"Unable to establish SSL connection",则可参看此文==>CentOS使用wget命令提示"Unable to establish SSL connection"_解决方案
以CentOS 6.3系统为例,修改操作命令为:
wget https://sourceforge.net/projects/nmon/files/nmon_linux_14i.tar.gz --no-check-certificat
对于CentOS 5.1系统,修改操作命令为 :
wget https://nchc.dl.sourceforge.net/project/nmon/nmon_linux_14i.tar.gz --no-check-certificat
即可成功下载nmon程序的压缩包,如下:
![](http://upload-images.jianshu.io/upload_images/4866277-6f8da4367713d9b4.png?imageMogr2/auto-orient/strip|imageView2/2/w/649/format/webp)
![](http://upload-images.jianshu.io/upload_images/4866277-e40c5d4a212912d2.png?imageMogr2/auto-orient/strip|imageView2/2/w/655/format/webp)
查看下载完成的nmon的gz压缩包
![](http://upload-images.jianshu.io/upload_images/4866277-46e6b685405dc7f1.png?imageMogr2/auto-orient/strip|imageView2/2/w/506/format/webp)
OR
也可以手动在以下URL下载适配操作环境的Nmon版本,然后通过主机和虚拟机的共享文件夹移动到Linux虚拟机中
传送门:http://nmon.sourceforge.net/pmwiki.php?n=Site.Download
![](http://upload-images.jianshu.io/upload_images/4866277-ad3b7b97b4c540d4.png?imageMogr2/auto-orient/strip|imageView2/2/w/1174/format/webp)
解压nmon压缩包:tar zxvf nmon_linux_14i.tar.gz
z : 表示 tar包是被gzip压缩过的,需用gunzip解压
x : 从tar包中把文件提取出来
v : 显示详细信息
f:f后面必须跟上要处理的文件名,不能调换f的位置
.tar.gz是一个压缩包,.tar只是打包而没有压缩
![](http://upload-images.jianshu.io/upload_images/4866277-7ff6ec5e27990d08.png?imageMogr2/auto-orient/strip|imageView2/2/w/455/format/webp)
解压后通过命令ls
可查看到其下的2个脚本程序
nmon_x86_64_sles11 ==> 64-bit
nmon_x86_sles11 ==>32-bit
![](http://upload-images.jianshu.io/upload_images/4866277-f4f57dc632ebccc9.png?imageMogr2/auto-orient/strip|imageView2/2/w/988/format/webp)
为nmon配置可读、可写、可执行权限:chmod 777 nmon_x86_64_sles11
执行以上命令后,再通过命令ls -la
查看所有文件的配置权限
![](http://upload-images.jianshu.io/upload_images/4866277-2cfcdb6cd20081e4.png?imageMogr2/auto-orient/strip|imageView2/2/w/599/format/webp)
2.执行脚本,启动Nmon
操作命令:./nmon_x86_64_sles11
![](http://upload-images.jianshu.io/upload_images/4866277-d21874d4388f98ea.png?imageMogr2/auto-orient/strip|imageView2/2/w/740/format/webp)
3.初始化Nmon工具
给Nmon文件授予可执行权限:chmod +x nmon
![](http://upload-images.jianshu.io/upload_images/4866277-03e9c41aad8aa5f4.png?imageMogr2/auto-orient/strip|imageView2/2/w/418/format/webp)
为了使Nmon在当前操作系统环境中任何路径下都能运行,在64位CentOS中,需要将nmon_x86_64_centos6文件移动到执行文件夹bin目录(环境变量目录)之下,并命名为nmon:mv nmon_x86_64_centos6 /usr/local/bin/nmon
![](http://upload-images.jianshu.io/upload_images/4866277-d1e74f11ce5ad32b.png?imageMogr2/auto-orient/strip|imageView2/2/w/731/format/webp)
![](http://upload-images.jianshu.io/upload_images/4866277-abaf335dd2fb467a.png?imageMogr2/auto-orient/strip|imageView2/2/w/561/format/webp)
4.运行Nmon与查看监控的操作
在Liunx命令窗口输入nmon,回车,即可进入到Nmon监控界面
![](http://upload-images.jianshu.io/upload_images/4866277-e8b508155a762a7f.png?imageMogr2/auto-orient/strip|imageView2/2/w/668/format/webp)
输入操作指令:
c ==> CPU:显示CPU利用率数据
m ==> Memory:显示内存数据
n ==> Network:显示网络信息
d ==> Disk:显示磁盘信息
t ==> Top Processes:系统的进程信息
h ==> Help:查看帮助信息
q ==> Quit:退出Nmon界面
![](http://upload-images.jianshu.io/upload_images/4866277-325e9a09bab902c8.png?imageMogr2/auto-orient/strip|imageView2/2/w/826/format/webp)
![](http://upload-images.jianshu.io/upload_images/4866277-bb92fd223cae4e22.png?imageMogr2/auto-orient/strip|imageView2/2/w/761/format/webp)
![](http://upload-images.jianshu.io/upload_images/4866277-f78c59a7a03a4e35.png?imageMogr2/auto-orient/strip|imageView2/2/w/665/format/webp)
5.采集数据
nmon -s3 -c100 -f -m /usr/local/DataCollect
-s3 每3秒采集一次数据
-c100 采集100次,即采集5分钟(100*3=300s=5min)的数据
-f 生成的数据文件名中,包含文件创建的时间
-m 生成数据文件的存放目录
执行以上命令成功之后,就会生成一个Nmon监控结果文件localhost_180828_1904.nmon,且每3秒更新一次,直至300s后为止
![](http://upload-images.jianshu.io/upload_images/4866277-b62fe6f9b6331206.png?imageMogr2/auto-orient/strip|imageView2/2/w/646/format/webp)
![](http://upload-images.jianshu.io/upload_images/4866277-b823cde81ac4f88a.png?imageMogr2/auto-orient/strip|imageView2/2/w/704/format/webp)
该命令启动后,会在nmon所在目录下生成监控文件,并持续写入资源数据,直至监控点收集完成。这些操作均自动完成,无需手工干预,测试人员可以继续完成其他操作。如果想停止该监控,需要通过ps -ef|grep nmon
查询进程pid号,然后kill掉该进程以停止监控(类似于Windows系统任务管理器结束进程)。
ps -ef|grep nmon
kill -9 pid
以上 "9" 代表信号变量 SIGKILL
四、利用Nmon Analyser分析Nmon采集的数据,生成数据报告
1.设置共享文件夹,联通VMware虚拟机中CentOS系统和物理主机系统
在VMware虚拟机中安装完成VMware Tools工具的前提下,点击【虚拟机-->设置-->虚拟机设置:选项-->文件夹共享-->总是启用-->添加-->添加物理机中指定路径下的文件夹作为和VMware内CentOS系统中的共享文件夹-->确定】
![](http://upload-images.jianshu.io/upload_images/4866277-c0323e55e2940b37.png?imageMogr2/auto-orient/strip|imageView2/2/w/738/format/webp)
输入命令:vmware-hgfsclient
可查看到刚才新创建的共享文件夹的目录名
![](http://upload-images.jianshu.io/upload_images/4866277-1699d7299f75d8a1.png?imageMogr2/auto-orient/strip|imageView2/2/w/407/format/webp)
VMware默认共享文件夹的目录为 /mnt/hgfs/
![](http://upload-images.jianshu.io/upload_images/4866277-3c7848ddeb49de70.png?imageMogr2/auto-orient/strip|imageView2/2/w/468/format/webp)
2.物理主机从共享文件夹获取采集的数据
输入命令:cp /usr/local/DataCollect/localhost_180828_1904.nmon /mnt/hgfs/VmShare
将采集到的数据复制到共享文件夹中,即可在物理主机中使用该采集数据
![](http://upload-images.jianshu.io/upload_images/4866277-b92f6db8374d8fdd.png?imageMogr2/auto-orient/strip|imageView2/2/w/806/format/webp)
回到物理主机,已可在所创建的共享文件夹中查看到Nmon采集的数据文件
![](http://upload-images.jianshu.io/upload_images/4866277-ce66ddaf939083b7.png?imageMogr2/auto-orient/strip|imageView2/2/w/568/format/webp)
3.下载Nmon Analyser
![](http://upload-images.jianshu.io/upload_images/4866277-74657eb8f1c66617.png?imageMogr2/auto-orient/strip|imageView2/2/w/916/format/webp)
下载完成,解压后的文件如下:
![](http://upload-images.jianshu.io/upload_images/4866277-0f7fe1d0386f4003.png?imageMogr2/auto-orient/strip|imageView2/2/w/490/format/webp)
4.利用Nmon Analyser分析数据,并生成数据报告
双击打开文件 nmon analyser v54.xlsm,允许启用宏
![](http://upload-images.jianshu.io/upload_images/4866277-d4d7302044168d61.png?imageMogr2/auto-orient/strip|imageView2/2/w/936/format/webp)
点击【Analyze nmon data】按钮,将Nmon采集的数据从共享文件夹中导进来
![](http://upload-images.jianshu.io/upload_images/4866277-6211c8032b384844.png?imageMogr2/auto-orient/strip|imageView2/2/w/883/format/webp)
Nmon Analyser经过对采集的数据分析后生成数据报告,如下:
localhost_180828_1904.nmon.xlsx
![](http://upload-images.jianshu.io/upload_images/4866277-fc2fe8754aa45a9b.png?imageMogr2/auto-orient/strip|imageView2/2/w/892/format/webp)
生成的.xlsx文件中的部分数据报表如下:
![](http://upload-images.jianshu.io/upload_images/4866277-a15bda3d7b6c78de.png?imageMogr2/auto-orient/strip|imageView2/2/w/1200/format/webp)
![](http://upload-images.jianshu.io/upload_images/4866277-edc8c91dfd46e6d5.png?imageMogr2/auto-orient/strip|imageView2/2/w/1093/format/webp)
![](http://upload-images.jianshu.io/upload_images/4866277-1a20c379adf14258.png?imageMogr2/auto-orient/strip|imageView2/2/w/1030/format/webp)
【异常处理】
使用WPS文档启用宏执行分析nmon文件时可能出现异常提示:运行时错误 '13': 类型不匹配
解决方案:将电脑系统桌面右下角的日期格式(如:yyyy/MM/dd dddd)调整为去掉"dddd"的格式(如:yyyy/MM/dd)
![](http://upload-images.jianshu.io/upload_images/4866277-dbe9dc615cf4e39f.png?imageMogr2/auto-orient/strip|imageView2/2/w/558/format/webp)
![](http://upload-images.jianshu.io/upload_images/4866277-7c3aa7fe676fcde8.png?imageMogr2/auto-orient/strip|imageView2/2/w/484/format/webp)
![](http://upload-images.jianshu.io/upload_images/4866277-ebfce717c07d703f.png?imageMogr2/auto-orient/strip|imageView2/2/w/1200/format/webp)
参考来源:
[1] CentOS6.4 安装nmon
[2] Linux下使用NMON监控、分析系统性能
[3] VMware中CentOS 7设置文件夹共享的方法
[4] nmon 运行时错误 13 类型不匹配