说到服务器资源监控,你的第一反应,是不是 nmon 这个工具?
如果你不是,或者你不会 nmon 进行服务器资源监控,请认真看下这篇文章,因为,这可能是国内用一篇文章,对 nmon 进行最详尽讲解的。
简介
nmon 是 Nigel’s performance Monitor for Linux(nigel 的 Linux 性能监控器)的英文缩写;它有三种运行模式,分别是:实时屏幕模式、数据收集模式、定时计划执行模式;这款工具运行时,本身资源消耗很小,而且监控的资源种类比较多,使用非常简单,所以,在没有搭建专业的监控平台时,很多人都会想到用它来监控服务器。
安装与使用
下载安装
首先要知道自己监控的 Linux 服务器的发行版本,怎么看呢?
# 查看centos的发行版本
cat /ect/redhat-release
# 查看Ubuntu的发行版本
lsb_release -a
根据看到的系统版本,在 nmon 的 下载页面 中,查找支持对应版本的最新 nmon 版本,下载完成之后,在 Linux 中,解压下载包
# 本地下载,然后通过sftp方式上传到linux服务器任意文件路径
# 或
# 在linux中用wget 下载地址 直接下载到机器的任意文件路径
# 解压
tar -xzvf nmon****.tar.gz
第一种模式:实时屏幕模式
直接执行对应系统的 nmon 文件,如 Linux 系统发行版本的 centos8,则执行 ./nmon_x86_64_centos8 ,将开启 nmon 的实时屏幕展示模式
看到这样一个黑色窗口,是不是就楞了,不知道怎么做了?看到这样一个自己陌生的东西,千万不要去害怕,你要知道,他们其实都是纸老虎。从顶部第一行,我们可以看到,当前机器的名称叫做 localhost,页面数据刷新的时间是 2 秒,当前时间,再往下看,告诉我们输入’h’,就能获得更多帮助,接下来,就是操作系统相关信息;再接下来告诉我们,可以使用下面这些键,获得对应的功能数据展示。
输入:cmdU
这样,我们就能从屏幕上,实时看到当前服务器资源使用情况,按 q,退出查看
更多参数说明:
第二种模式:数据收集模式
如果你的 Linux 系统发行版本是 centos8,则执行 ./nmon_x86_64_centos8 -f ,将开启 nmon 的数据收集模式,该命令后面不在跟参数,则默认为:-s300 -c288
注意: 直接执行这个命令,后面不带参数,该命令将在后台持续运行 24 小时,收集 24 小时资源使用情况
使用 -f 开启数据收集模式,还可以跟上其他参数
这么多参数,并不需要所有都记住,只需要重点记住几个即可:-f-s“-c-m“-p
常用案例:
./nmon_x86_64_centos8 -f # 监控服务器,将结果标准输出,命令将后台持续运行 24 小时
./nmon_x86_64_centos8 -f -s3 -c10 # 每隔3秒收集一次,收集10次,将结果标准输出
./nmon_x86_64_centos8 -f -s3 -c10 -m /tmp/nmon # 每隔3秒收集一次,收集10次, 将结果标准输出到指定路径,注意:文件夹要存在
更多参数说明
第三种模式:定时计划执行模式
如果你的 Linux 系统发行版本是 centos8,则执行 ./nmon_x86_64_centos8 -x , 将开启 nmon 的定时计划执行模式,如果后面不再添加任何参数,默认为 -s900 -c96 即:每隔 900 秒获取一次数据,总共执行96,也就是 24 小时,收集的数据结果采用标准输出
注意:该命令后面,不再加参数,默认执行 24 小时
另外,还可以使用 -X 参数,这个参数默认为 -s30 -c120 即:每隔 30 秒获取一次数据,总共执行 120 次,也就是 1 个小时,收集的数据结果采用标准输出
-z 用 root 账户运行,收集 1 天数据,输出到/var/perf/tmp 文件夹
结果查看
标准输出结果查看 nmon 的标准输出结果文件为:主机名_年月日_时分。nmon 是一种文本数据文件,可以用文本编辑器打开,但是不便于阅读,可以使用 nmon 的 analysis 工具打开
在本地电脑上下载 nmon_analysis
http://nmon.sourceforge.net/pmwiki.php?n=Site.Nmon-Analyser
解压 tar 包
从 Linux 服务器上,下载 nmon 的标准输出文件到本地电脑
用 Microsoft Excel 打开解压的”nmon analyser v*.xlsm” 文件,然后启用宏
点击 【Analyze nmon data】按钮,选择从服务器上下载的 nmon 文件,将会自动分析,生成一个 xlsx 的文件,保存,自动会用 Excel 打开,打开我们就能看到多个图表
技能提升
对于大多少数学习或使用过 nmon 的同学,可能都只是掌握了上面这些,国内的绝大多数的文章也就介绍上面这些技能,但是,Microsoft Excel 却有一个致命缺陷,严重制约了这个工具的使用。
什么问题呢?
如果你使用 nmon 监控的时间比较长,生成的 nmon 文件比较大,大几兆,十几兆,或几十兆,你打开看看,肯定无响应,或者奔溃,有木有!
么有!
那你肯定没有真正用过。
其实,nmon 的结果查看还有其他工具,可以去下载 nmonchar.tar 文件,下载文件到 Linux 服务器上
# 下载
wget http://sourceforge.net/projects/nmon/files/nmonchart40.tar
#解压
tar -xvf nmonchart40.tar
# 进入解压后的文件夹
cd nmonchart40
使用 nmonchar,分析监控生成的 nmon 文件
./nmonchart 被分析的nmon文件.nmon 生成结果文件.html
# 注意:这个命令要能执行,需要有ksh,centos可以使用 yum install ksh 命令安装
下载生成的 HTML 文件到本地
是不是,就急着去用浏览器打开,打开看到了什么
728 x 386 1230 x 652
很尴尬是不是,什么都没有,点击上面的按钮,也,然并卯
为什么呢?因为这个文件渲染用到 js,跑到外星去啦,相信你明白的,如果你能去外星走一遭,你就会看到
728 x 386 1227 x 650
这个是不是比 Excel 的要好看些,重要的是不用再害怕文件太大,无法打开了。
好了,这种不对外讲的技术都给大家讲了,你学会了吗?