qaarchitech 发表于 2008-8-1 20:56:32

Jmeter Linux资源监控器

by jack

最近完成了jmeter linux资源监控器的开发,方法并不怎么高明,但相信可以帮助很多用jmeter来做性能测试的同仁解决jmeter缺少linux资源监控的问题
附件中是编译好的包以及linux上所用的脚本。基本的原理是利用shell脚本生成资源xml,让jmeter利用http请求获取该xml,解析展现数据。
欢迎各位同仁测试使用,有问题也可以与我交流。

监控器实现的是linux系统上的资源监控,要求:服务器上至少有一个web server(因需要通过http请求获取资源xml),用于生成服务器资源xml的脚本中使用了sysstat包中的指令,所以需要安装sysstat包。
使用方法:
下载:
首先解开压缩包,取出status脚本,登录到被监控的服务器上,将status脚本放上去。该脚本执行时会在所在路径生成status.xml文件,可以直接将status脚本放在web server的目录下,也可以用软链接来链到status.xml文件。下面介绍在基于apache的web server上的配置方法:
在apache的配置文件httpd.conf中找到DocumentRoot,一般默认是apache目录下的htdocs,将status脚本放到该目录下;
更改执行权限:
chmod 744 status
启动该脚本:
./status start
启动起来之后就会在当前目录下产生status.xml文件
不需要监控时,停止该脚本:
./status stop




然后到运行jmeter的机器上,解开压缩包里的ext.rar包,将解压得到的两个jar包:ApacheJMeter_core.jar和ApacheJMeter_monitors.jar,复制到jmeter的lib/ext目录下,覆盖原来的jar包。
之后就可以到jmeter上来监控了:打开jmeter,建立一个线程组,添加一个http请求,ip就是要监控的服务器地址,端口号就是apache侦听的http端口,协议是“http”,路径是“/status.xml”,勾选“用作监视器”;



再为该http请求添加一个“固定定时器”组件和一个“监视器结果”组件,“固定定时器”的延时要设置为大于1秒的时间,即数据的采样时间。



在线程组中循环次数设置勾选“永远”;



Run一下,就可以在监视器结果上看到刚刚添加的监控服务器了,目前已经监控了6个参数:cpu%user,cpu%iowait,load,mem%(used/total),swap in,swap out。



如果被监控的linux上没有安装sysstat包,是无法正常生成监控数据的,这里附上sysstat包的安装方法:
首先到 http://perso.wanadoo.fr/sebastien.godard/ 下载最新的版本,最好是源码包,比如sysstat-5.1.1.tar.gz

1.解包:

tar zxvf sysstat-5.1.1.tar.gz


2.安装:

cd sysstat-5.1.1

make config
这步可以省略,有些发行版中会出错;如果不用这个命令,可以直接安装到其默认的/usr/local/lib目录中

make
编译

make install
安装

这样就安装好了。

[ 本帖最后由 qaarchitech 于 2008-8-1 20:58 编辑 ]

qaarchitech 发表于 2008-8-7 19:17:32

不知道下载的同仁们用了感觉如何,如果有不足,也请提出来我好改进:D

发表于 2008-8-29 17:25:02

下载了,支持下

xiaoyaoke 发表于 2008-9-5 14:12:32

如果服务器上没有配www服务器呢?
LZ准备如何获取你想要的这些参数?

rcpp 发表于 2008-9-8 19:55:32

我最近在做的一个工具应该能解决lz的应用问题
在写一个linux c的http工具,用于服务器数据收集和展示的
很轻量,可以考虑做成插件化
这样可以比lz所用的shell效率高一些

xiaoniao3127 发表于 2008-9-9 11:12:47

怎么没数据

我按照你说的步骤设置了。但是没有监控数据,我的远程LINUX 都可以运行sysstat的命令,而且也查到status有在运行。

qaarchitech 发表于 2008-9-10 11:15:10

回复 6# 的帖子

直接在浏览器里输入http请求能看到xml吗?
比如主贴实例中的就是http://10.0.4.144/status.xml

kexi1314 发表于 2008-10-31 17:12:43

回复 1# 的帖子

为什么要付费

kexi1314 发表于 2008-12-17 15:12:08

楼主,你好!!!
你的提出的两种方法我都进行了尝试,可是监控服务器的显示依然是dead,到底为什么啊?
我的jmeter是2.3.2,linux是red hat,apache 2.2.11,完全是按照你的步骤进行的,可是却总是一个结果,快愁死我了!!!
帮帮忙啊!!!272241822

spdayu 发表于 2009-1-13 23:14:08

不错免责备呢

看雪时节 发表于 2009-2-20 17:06:04

终于找到了该东西!~~先谢谢了!~

jun_fx 发表于 2009-8-19 10:36:42

:victory:试试看

jun_fx 发表于 2009-8-19 10:55:59

xml是生成了,但是有个错误。
(standard_in) 1: parse error

我的qq是:497171722

ljonathan 发表于 2009-8-22 14:57:45

很好,学习。。。

568813 发表于 2009-9-23 11:26:52

赞一个 啊

917782861 发表于 2009-11-26 17:12:36

够贵的,先下来看看

917782861 发表于 2009-11-26 19:41:59

LZ您好,有个问题想请教您,我看您在设置的status文件时,在apache的应用里是把它配置到apach的web server上里面了,那在Linux下的jboss服务器里该怎么设置呢?

kakamissyou 发表于 2010-1-24 09:06:20

不错,挺高明。

不错,挺高明。

bert_gu 发表于 2010-2-24 17:51:46

覆盖两个jar文件以后,不能添加http请求了,如果不覆盖是可以添加的,望楼主帮我解决,谢谢!

higkoo 发表于 2010-3-25 21:51:00

付费,鄙视!

Jmeter本来都开源免费。
页: [1] 2
查看完整版本: Jmeter Linux资源监控器