在一次性能测试中需要监控NodeJs,就用了听云,由于测试环境的NodeJs是部署在Windows下的,按照听云上的探针安装说明进行安装,发现处处是坑,最后花了两小时才解决,现在细想听云上的安装说明一定是针对Linux的,而且探针的Setup.js脚本也是针对Linux的。因此我将自己的安装过程重新记录一下,以供参考:
1、第一步下载听云的探针到Windows服务器上
选择要安装的语言包Node.js,提供的下载的方式是 wget http://download.networkbench.com/agent/nodejs/1.5.4/tingyun-agent-nodejs-1.5.4.tar.gz,我们去掉wget命令,直接用IE连接http下载。下载后的包,放到应用程序根目录下。
2、执行安装命令
在你的应用程序根目录下(不在根目录下,就带上绝对路径),执行安装探针命令:npm install tingyun-agent-nodejs-1.5.4.tar.gz
(说明:先在cmd中用npm -h验证一下是否安装了并可调用,否则npm命令需要带上nodejs目录路径再执行,也可以直接配置环境变量在path中添加nodejs目录)
3、修改配置文件
1).执行配置命令(也是在应用程序根目录下),填写应用名和授权序号
node node_modules/tingyun/setup.js
注意:授权号在听云的安装界面说明的上方(复制License Key)
2).setup.js会尝试自动在应用的根路径下创建tingyun.js文件, 并将 require('tingyun') 添加到应用主文件的首行。
如果您的package.json中没有设置main参数,并且应用根路径下没有index.js文件,那么setup.js执行会失败,提示您需要手动将"require('tingyun')" 添加到主文件的首行。
说明:这句话的意思是,如果出现如上提示,你需要到主文件(web服务目录下bin/www),用编辑器(如Nodepad++)打开www,在var app = require('../app');上方添加一行var tingyun = require('tingyun');
4、修改setup.js文件
注意啦,如果你以为按如上方法就能成功安装,你就错了,关键在这里,打开setup.js文件(注意路径为以上安装的探针路径,如D:\rf-server\node_modules\tingyun)
在function on_index(index_file)函数中,找到 var cmd = 'cat ' + index_file + ' | grep \"require(\'tingyun\')\"';
替换成 var cmd = 'type ' + index_file + ' |findstr \"require(\'tingyun\')\"';
说到这里,很多人已经明白了,之所以这么改,是因为windows下,根本没有cat 和grep命令,通过安装提示所报的错就能看出来。
5、重新执行一次配置命令
看到<设置成功>,恭喜已经配置成功了,可以启动应用了。
6、启动或者重新启动应用服务器
可以通过 npm start启动,然后开始访问应用服务(听云说明上是说:5分钟后,当您的node.js应用服务有http请求进入,性能数据将发送到听云Server),以下是监控到的效果: