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 编辑 ] 不知道下载的同仁们用了感觉如何,如果有不足,也请提出来我好改进:D 下载了,支持下 如果服务器上没有配www服务器呢?
LZ准备如何获取你想要的这些参数? 我最近在做的一个工具应该能解决lz的应用问题
在写一个linux c的http工具,用于服务器数据收集和展示的
很轻量,可以考虑做成插件化
这样可以比lz所用的shell效率高一些
怎么没数据
我按照你说的步骤设置了。但是没有监控数据,我的远程LINUX 都可以运行sysstat的命令,而且也查到status有在运行。回复 6# 的帖子
直接在浏览器里输入http请求能看到xml吗?比如主贴实例中的就是http://10.0.4.144/status.xml
回复 1# 的帖子
为什么要付费 楼主,你好!!!你的提出的两种方法我都进行了尝试,可是监控服务器的显示依然是dead,到底为什么啊?
我的jmeter是2.3.2,linux是red hat,apache 2.2.11,完全是按照你的步骤进行的,可是却总是一个结果,快愁死我了!!!
帮帮忙啊!!!272241822 不错免责备呢 终于找到了该东西!~~先谢谢了!~ :victory:试试看 xml是生成了,但是有个错误。
(standard_in) 1: parse error
我的qq是:497171722 很好,学习。。。 赞一个 啊 够贵的,先下来看看 LZ您好,有个问题想请教您,我看您在设置的status文件时,在apache的应用里是把它配置到apach的web server上里面了,那在Linux下的jboss服务器里该怎么设置呢?
不错,挺高明。
不错,挺高明。 覆盖两个jar文件以后,不能添加http请求了,如果不覆盖是可以添加的,望楼主帮我解决,谢谢!付费,鄙视!
Jmeter本来都开源免费。
页:
[1]
2