验证安装是否成功,需要确保which node
和which agenthub
的路径中包括.tnvm
即可。
阿里云账号,在这里 https://www.aliyun.com/product/nodejs 开通服务。
一台可以连接到互联网的服务器,或者开发机器。
2. 操作指南
I. 创建应用
登录阿里云官网 https://www.aliyun.com/。
前往 Node.js性能平台控制台
创建新应用
输入应用名demo
,记录下App ID
和App Secret
,后面可以从应用界面的设置
中查看该设置。
II. 服务器部署 Node.js 性能平台
a. 安装 Node.js 性能平台所需组件
# 安装版本管理工具 tnvm,安装过程出错参考:https://github.com/aliyun-node/tnvm
wget -O- https://raw.githubusercontent.com/aliyun-node/tnvm/master/install.sh | bash
# 如果遇到网络问题,请切换为如下命令:
# wget -O- https://code.aliyun.com/aliyun-node/tnvm/raw/master/install.sh | bash
source ~/.bashrc
# tnvm ls-remote alinode 查看需要的版本
tnvm install alinode-v3.11.4 # 安装需要的版本
tnvm use alinode-v3.11.4 # 使用需要的版本
npm install @alicloud/agenthub -g # 安装 agenthub
which node
/home/user/.tnvm/versions/alinode/v3.11.4/bin/node
which agenthub
/home/user/.tnvm/versions/alinode/v3.11.4/bin/agenthub
将创建新应用
中获得的App ID
和 App Secret
按如下所示保存为 yourconfig.json
。
{
"appid": "12345", # 前面申请到的 appid,保存时删掉这条注释。
"secret": "kflajglkajlgjalsgjlajdgfakjkgj" # 前面申请到的 secret,保存时删掉这条注释。
}
b. 启动 agenthub
agenthub start yourconfig.json
# 通过 agenthub list 查看 agenthub 是否启动成功
# 如果没有 agenthub 实例,通过调试模式启动 agenthub:
# DEBUG=* agenthub start yourconfig.json
# ~/.agenthub.log 查看 agenthub 日志。
c. 复制下面的代码到 demo.js
注意:该 demo 模拟计算密集型应用,请勿在生产环境中使用。
const http = require('http');
const crypto = require('crypto');
const reqHeaders = [];
const algorithm = 'aes-256-cbc';
const key = ['this', 'is', 'a', 'test'].join(' ');
const encode = function(str) {
var buf = new Buffer(str)
var encrypted = "";
var cip = crypto.createCipher(algorithm, key);
encrypted += cip.update(buf, 'binary', 'hex');
encrypted += cip.final('hex');
return encrypted;
};
const decode = function(encrypted){
var decrypted = "";
var decipher = crypto.createDecipher(algorithm, key);
decrypted += decipher.update(encrypted, 'hex', 'binary');
decrypted += decipher.final('binary');
return decrypted;
}
http.createServer(function(req, res) {
reqHeaders.push(req.headers);
let enc = encode(req.headers['host']);
let dec = decode(enc);
res.end('hello')
}).listen(8848);
d. 启动应用
ENABLE_NODE_LOG=YES node demo.js
注意:
若出现提示信息 Environment variable <NODE_LOG_DIR> not configured, </tmp/> will be used to record node internal log.
表明运行时日志(非应用日志)存储目录是默认的 /tmp/
。
III. 通过控制台观察监控数据,执行诊断操作
在 控制台中观察各个监控信息。
Node.js进程数据
中查看进程级别的数据。
注意:
1. 本例未配置 、 等功能。
2. 性能平台每分钟上传一次日志,请等待几分钟后查看数据。
3. 更详细的 Node.js 性能平台 runtime 部署参见 自助式部署 runtime。
文档内容是否对您有帮助?