nmon如何监控多个服务器
‘壹’ loadrunner中如何添加对服务器系统资源的监控
一 监控需要进行的配置:在LR控制台设置监控Windows服务器的资源比较容易,直接码戚添加Measurements即可。档宽
但是迟蠢陵大多情况下面服务器的操作系统是linux或者Unix,这时想监控系统的资源使用情况就需要进行一些设置:1 由于LR是通过rpc rstatd进程获得系统的性能数据,因此首先查看进程中是否存在该进程,或者能否通过运行 rpc rstatd启动该进程,如果可以,可以直接在LR的控制台添加Measurements;否则需要下载rstatd tar gz,下载地址: 安装rstatd tar xvzf rstatd tar gz cd rpc rstatd configure prefix usr make sudo su mak
‘贰’ linux下已经安装好nmon,如何使用nmon针对指定的几个进程进行监控呢不要全面的信息,内容太多。
用nagios、cacti监控。nmon没用过。
‘叁’ 我是怎么分析nmon 的
1、确定你的服务器上面已经安装了nmon,命令输入让亮携nmon可以看到nmon的界面。
2、输入#./ nmon -f -t -r test -s 30 -c 180
test:这次监控记录的标题()与生产的文件名称
-s 30:每 30 秒进行一次数据采集
-c 180:一共键晌采集 180 次
相关参数自己调整。
3、使用 nmon analyser.xls 进行数据分析。导出的excel已经是完整的数据了。
具坦伏体详细操作和nmon analyser.xls 导出的数据指标说明和关键指标,我就不在这里一一列出了。你可以在我下面给的本人博客链接里面看到nmon这个专题,里面有详细介绍如何操作如何分析nmon。如有疑问,可以在此贴内或博客专题中留言。
《nmon专题(上)》 —— (度娘防吞,去掉下面链接的中文)
g5度娘dfire防.synol吞ogy.me度娘:8888/blog/防吞#param=id_34
‘肆’ 用自动化怎么测订单模块
1.背景
在性能测试过程中,往往需要监控服务器的性能情况,并记录这些性能指标结果。不论是云下数据库服务器还是应用服务器,都可以通过nmon来进行监控,设定打点间隔和打点次数,将性能指标情况保存成nmon文件,并通过工具,如Excel插件Nmon_Analyzer、Java GUI工具nmon visualizer等读取nmon文件内容,分析采集结果。但当监控的服务器数量较多时,依次采集多个nmon文件中的性能指标结果会耗费时间,同时,人工读取和记录数据也可能会出现记录错误的偶然误差。因此我们可以尝试使用自己熟悉的编程语言,如python等,来开发一款简单易实现的小工具,用于自动采集性能测试nmon文件中的性能测试指标。
2. 工具介绍与设计
工具实现的基本思想是逐个扫描指定路径下的nmon文件,根据nmon文件的内部格式,提取出目标性能指标数据,再对提取出来的数据进行加工处理,得到结果,并将结果自动保存到新生成的结果Excel文件中。为了更直观地获取用户输入的nmon文件路径及结果保存路径,我们可以编写GUI界面,利用界面上的文本输入框来获取用户的输入,并采用界面上的按钮来触发这一采集事件。
图1 工具设计流程图
3. 工具实现
(1)导入所需模块
由于我们的工具中包含对文件和路径进行操作,这需要依赖os模块实现。在逐行读取nmon文件内容时,用codecs提供的open方法来指定打开的文件的语言编码,它会在读取的时候自动转换为内部unicode。re模块是python独有的匹配字符串的模块,利用正则表达式对字符串进行模糊匹配,提取自己需要的字符串部分,使用该模块可以实现逐行扫描进行模糊匹配查找到CPU和内存的相关性能指标。xlwt库的作用是将数瞎拿弊据写入Excel表格中。Tkinter 是 Python 的标准 GUI 库,导入 Tkinter 模块后可以使用控件快速的创建 GUI 应用程序。 tkinter.StringVar 能自动刷新的字符串变量,可用set和get方法进行传值和取值,以此来接收用户输入。
图2 代码-导入所需模块
(2)窗口的实现
利用Tkinter模块创建窗口并插入输入框控件用来获取用户输入的路径信息,输入框的内容存储到StringVar当中,设置按钮Button用于和鼠标点击事件绑定。
图3 代码-窗口的实现
图3 窗口的实现图
(3)编写事件代码——求CPU平均利用率的函数
不同版本的nmon文件内部格式略有不同,因此在编写程序时,要先了解目标版本的内部结构,用来确定字符串模式匹配时,需要利用nmon文件中磨族性能指标相关内容的哪些特征。
为了计算均值,需要获取nmon文件中记录的打点次数。通过了解nmon文件中AAA参数是关于操作系统以及nmon本身的一些信息,可以查找该行来进行提取。
图4 代码-获取打点次数和打点间隔
CPU_ALL参数是对所有CPU的概述,显示所有CPU平均占用情况,将记录的CPU占用率逐个取出存放在数组里,并求数组元素的平均值,即为整个监控期间CPU的平均利用率,函数将该值敏差返回。
图5 代码-求CPU平均利用率
(4)编写事件代码——求内存均占用率的函数
类似地,通过MEM参数获取内存占用情况,与CPU情况不同的是,该参数行包括多项内存相关指标,而在监控性能指标时,我们常用公式1来计算内存的占用率,因此需要从MEM参数中提取相关指标,包括memtotal、memfree、cached、buffers,按照公式进行计算,并返回内存占用率。
公式1 内存占用率常用计算公式
图6 代码-求内存占用率
(5)编写事件代码——鼠标点击事件
该事件用于和界面上的按钮Button进行绑定,实现当点击按钮后的一系列操作:从输入框取nmon文件路径和目标保存路径,生成Excel文件并创建工作表,写入默认的表头内容,调用求CPU平均利用率的函数和求内存均占用率的函数,将返回的值写入Excel文件并保存。
图7 代码-鼠标点击事件
4. 总结
该工具是基于Python语言的简单实践,可以实现批量自动提取nmon文件中的性能指标结果,并且可以沿用本思路根据需要对工具的功能进行修改或扩展。使用本工具进行性能结果的自动采集相比人工读取数值更加节省时间,并且避免了记录时出现错误的偶然误差,有助于提升准确度和测试效率。
‘伍’ Nmon简单使用和分析结果介绍
Nmon是由IBM 提供、免费监控 AIX 系统与 Linux 系统资源的工具。该工具可将服务器系统资源耗用情况收集起来并输出一个特定的文件,并可利用 excel 分析工具(nmon analyser)进行数据的统计分析。
Nmon使用需要nmon工具和nmonanalyser分析程序两者配合使用。nmon工具生成性能数据文件,然后monanalyser以nmon生成的数据文件作为输入,输出为Excel电子表格,并自动地生成相应的图形,使用户能够直观地观察OS性能(CPU、IO和内存等)的变化过程。
1.用root用户登录系统,建立nmon日志存储目录;
2.创建nmon工具运行脚本文件;
该命令启动后,会在/home/centos/nmon/nmon_data目录下生成监控文件烂锋,并持续写入资源数据,直至所有监控点收集完成,这些操作均自动完成,无需手工干预,用户可以继续完成其他操作。如果想停止该监控,需要通过“ps –ef|grep nmon”查询进程号,然后杀掉该进程以停止监控。
3.为nmon.sh文件添加指历迅可执行权限;
4.启动nmon,添加crontab item;
5.如需停止nmon,可注释crontab item;
6.nmon开始运行后,每天在/home/centos/nmon/nmon_data下产生一个文件,文件名包含日期如bigdata4_190628_1828.nmon;
7.nmon数据文件定期备份定期清理;
每个标签页都展示了对某一指标如CPU、内存、网络、I/O的详细监控数据,需要重点关注的几个监控指标如下:
页面显示项主要有主机名,执行日期,系统cpu使用情况(蓝线),系统I/O情况(粉红线),其中坐标左纵轴为系统cpu(user%+sys%)使用率,横轴为运行时长(下图为一个小时),右纵轴为系统磁盘传输(Disk xfers),坐标下侧为统计信息:系统I/O情况(一个采集间隔内的平均值、最大值、出现最大值的时间),系统CPU使用情况等。
如果一个CPU被充分使用,CPU占用时间配比应为User%(65-70%),Sys%(30-35%),Idel%(0-5%)
如果Sys%占比过大说明系统进程本身占领大部分cpu资源,可考虑系统是否存在过多僵尸进程或者系统进程存在死循环等原因;
CPU Wait%占比过大说明可能IO或内存方面存在瓶颈,可能是由于内存不够而引起频繁的的数据交换。
包括主机CPU使用情况汇总以及每个CPU的运行情况。
此处重点关注CPU_ALL页面。CPU_ALL页面可以看唯此到如下图的CPU整体上在每个监控点的数据,包括User%、Sys%、Wait%、Idle%、Steal%、CPU%以及CPUs(cpu个数)及对应图表。
参数 | 说明
CPU Total| 执行间隔时间列表
User% | 采集间隔内所有CPU在User Mode下的Time占比(Avg、Max)
Sys% | 采集间隔内所有CPU在System Mode下的Time占比(Avg、Max)
Wait%| 采集间隔内所有CPU处于空闲且等待I/O完成的时间比例(Avg、Max)
Idel%|采集间隔内所有CPU处于空闲Time的占比(Avg、Max),此值和User%,Sys%,Wait%,Steal%之和等于1
CPU%| CPU总体占用情况,这个值通常等于User%+Sys%
CPUs | CPU核数,即操作系统是多少核的
磁盘的读、写及I/O统计信息,系统各磁盘分区的读写情况。此处重点关注DISK_SUMM即可。
Disk total KB/s | 执行间隔时间列表
Disk Read KB/s| 采集间隔内磁盘设备的读速率
Disk Write KB/s| 采集间隔内磁盘设备的写速率
IO/sec | 采集间隔内磁盘整体平均每秒IO数
参数 | 说明
memtotal | 物理内存总大小,单位MB
swaptotal | 虚拟内存(即交换空间)的总大小
memfree | 剩余物理内存大小
swapfree | 剩余虚拟内存大小
cached | 物理内存中被cache占用的缓存大小
active | 在活跃使用中的内存大小
buffers | 文件系统缓冲区的大小
swapcached | 虚拟内存中被cache占用的缓存大小
inactive | 不常使用的内存大小
反映系统的网络运行情况,系统各个网络适配器读写的数据包数。此处重点关注NET页面。
NET页面显示系统中每个网络适配器的数据传输速率(千字节/秒)。
参数 | 说明
Network I/O | 执行间隔时间列表
Total-Read | 网络适配器每秒接收的数据包总大小(KB/s)
Total-Write(-ve) | 网络适配器每秒发送的数据包总大小(KB/s)
反映系统运行线程及等待切换的线程平均数。
记录nmon工具采集系统信息的时间点。
‘陆’ 如何使用Nmon监控Linux系统性能
用Nmon监控Linux系统性能的方法请参见下面介绍(配图):
1、安装Nmon
2、一旦安装完成,则可以通过在终端执行nmon命令启动它。
Nmon命令执行之后,大家可以看到如下输出:
以上是基础使用方法。下面再补充一些命令和方法:
1、启动
打开nmon所在的目录:cd/usr/local/nmon
修改启动文件的访问权限:chmod755nmon_x86_rhel52
启动nmon:./nmon_x86_rhel52
如果要采样nmon的数据保存成文件,可以
./nmon_x86_rhel52-fT-s30-c120
其中30表示每隔30秒nmon取一次系统性能数据,120表示取120次;
这样nmon将会在运行开始算起连续取得30sX120=60分钟,可根据实际需要时间调整;当运行以上命令后该目录下会生成一个.nmon文件,该文件会根据间隔时间被写入性能数据,当一段时间后再查看该文件,文件字节变大
利用nmonanalyser分析.nmon文件
当测试结束的同时ftp到服务器上将.nmon文件get下来,
打开nmon_analyser.zip包下的nmonanalyserv338.xls文件,点击Analysenomndata按钮,选择之前get来下的.nmon文件。
(如果报告以下宏的安全级别太高错误,则在“工具--宏--安全性”里把级别调低,然后重新打开nmonanalyserv338.xls文件)
待分析结束后会生成性能分析结果文件(文件格式为.xls,其中包括CPU,IO,内存等性能分析报告)。
分析结果中有很多数据和图形,简要介绍主要的性能参数图像
4.1系统汇总(对应excel标签的‘SYS_SUMM’)
蓝线为cpu占有率变化情况;
粉线为磁盘IO的变化情况;
4.2磁盘读写情况汇总(对应excel标签的‘DISK_SUMM’)
蓝色为磁盘读的速率KB/sec
紫色为磁盘写的速率KB/sec
4.3内存情况汇总(对应excel标签的‘MEM’)
曲线表示内存剩余量(MB)
分析数据得到的报告文件(.xls)中包含很多性能分析结果数据,根据自己的需要查看。
2、nmon运行本身就消耗系统资源的;
另外如果取到.nmon文件后确定不再需要nmon继续收集信息则应kill掉nmon;
命令:
ps-A|grepnmon#得到pid
kill-9pid
suse10enterprisesp2:
nmon_x86_rhel3
使用对应的操作系统文件:
chmod+xnmon_x86_ubuntu810
mvnmon_x86_ubuntu810/usr/local/bin/nmon
对于Debian还要做以下操作(不做也同样能运行):
apt-getinstalllsb-release
lsb_release-d|sed's/Description: //'>/etc/debian_release
然后直接运行nmon即可。
采集数据并生成报表:
采集数据:
nmon-s10-c60-f-m/home/
参数解释:
-s10每10秒采集一次数据。
-c60采集60次,即为采集十分钟的数据。
-f生成的数据文件名中包含文件创建的时间。
-m生成的数据文件的存放目录。
这样就会生成一个nmon文件,并每十秒更新一次,直到十分钟后。
生成的文件名如:hostname_090824_1306.nmon,"hostname"是这台主机的主机名。
生成报表:
下载nmonanalyser(生成性能报告的免费工具):
http://www.ibm.com/developerworks/wikis/display/Wikiptype/nmonanalyser
把之前生成的nmon数据文件传到Windows机器上,用Excel打开分析工具nmonanalyserv33C.xls。点击Excel文件中的"Analyzenmondata"按钮,选择nmon数据文件,这样就会生成一个分析后的结果文件:hostname_090824_1306.nmon.xls,用Excel打开生成的文件就可以看到结果了。
如果宏不能运行,需要做以下操作:
工具->宏->安全性->中,然后再打开文件并允许运行宏。
自动按天采集数据:
在crontab中增加一条记录:
00***rootnmon-s300-c288-f-m/home/>/dev/null2>&1
300*288=86400秒,正好是一天的数据。
采样文件越来越大:
[email protected].***:~/nmon#./nmon-s1-c33-f
[email protected].***:~/nmon#
[email protected].***:~/nmon#-sh*
8.0KAD39_***_sles10_101207_1046.nmon
160Knmon
[email protected].***:~/nmon#-sh*
12KAD39_***_sles10_101207_1046.nmon
160Knmon
[email protected].***:~/nmon#-sh*
16KAD39_***_sles10_101207_1046.nmon
160Knmon
[email protected].***:~/nmon#-sh*
20KAD39_***_sles10_101207_1046.nmon
160Knmon
[email protected].***:~/nmon#-sh*
20KAD39_***_sles10_101207_1046.nmon
160Knmon
注:以上一些机器名称或系统名称,请根据实际情况自行调整及修改。
‘柒’ loadrunner中如何添加对服务器系统资源的监控
controller——systerm
resource
graphs
这是监控本备埋地PC的
测试的服务器PC你要在服务器上安物启装监控软件
比如监控oracle数据库可以用awr
监罩滚如控系统资源用nmon
‘捌’ 在AIX7如何使用自带的nmon监控并记录下5分钟内的资源使用情况并生成.nmon文件
AIX7应该集成了nmon,可以在任何目录使用。
1、建立一个路径,如/backup/nmon
2、nmon -f -c -i -M -t -s10 -c100 -m /backup/nmon
-s 10 表示每10秒采集一次数据。
-c 120 表示采集120次。120*10=1200秒,总共就是20分钟。
-f 表示生成的数据文件名中有时间
-m 表示生成的数据文件的路径
3、将生成的文件导入nmon analyser,转换成excel文件即可。
‘玖’ 如何在loadrunner中监控win7服务器
LR只是模拟用户和服务器进行交互,你要监控服务器上情况,应该在LR跑凯铅批时在服务器上用监控工具收集橘此,oracle的话用awr,linux上的系统性能监控工具可以用nmonps:LR也会生成报告,但那个只是圆孙迅你模拟的机器和服务器之间的交互情况,你LR又不是安装在linux上的,你觉得LR有这么给力么,直接通过网络连接就能完整收集服务器上的各项性能情况这个不可能吧。
‘拾’ nmon中使用什么命令对某一个进程的性能参数程进行监控
不能,nmon只能监控整个系统的总体情况