全部产品
存储与CDN 数据库 域名与网站(万网) 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网 钉钉智能硬件

5分钟快速入门

更新时间:2017-12-25 16:21:46

1. 准备工作

2. 操作指南

I. 创建应用

II. 服务器部署 Node.js 性能平台

a. 安装 Node.js 性能平台所需组件

  1. wget -q https://raw.githubusercontent.com/aliyun-node/alinode-all-in-one/master/alinode_all.sh
  2. bash -i alinode_all.sh

所有步骤全部接受默认参数

验证安装是否成功,需要确保which nodewhich agenthub的路径中包括.tnvm即可。

  1. root@iZbp1c9ybk1utdtmi6rqzkZ:~# which node
  2. /root/.tnvm/versions/alinode/v2.2.3/bin/node
  3. root@iZbp1c9ybk1utdtmi6rqzkZ:~# which agenthub
  4. /root/.tnvm/versions/alinode/v2.2.3/bin/agenthub

创建新应用中获得的App IDApp Secret 填写到 yourconfig.json

请确保yourconfig.json里面server, appidserect如下所示

appid和secret就是前面创建应用中生成的App IDApp Secret

  1. {
  2. "server": "wss://agentserver.node.aliyun.com:8080",
  3. "appid": "12345", /* 前面申请到的appid */
  4. "secret": "kflajglkajlgjalsgjlajdgfakjkgj", /* 签名申请到的 secret */
  5. "logdir": "/tmp/",
  6. "error_log": [],
  7. "packages": []
  8. }

b. 启动 agenthub

  1. nohup agenthub yourconfig.json &
  • 注意:为防止终端异常退出(直接 close 窗口、到服务器的连接异常等)后 agenthub 异常退出:
    • 请使用 exit 命令退出终端;或者
    • 在执行完 nohup agenthub config.json & 后执行 disown 命令。

c. 复制下面的代码到 demo.js

  1. const http = require('http');
  2. const crypto = require('crypto');
  3. const reqHeaders = [];
  4. const algorithm = 'aes-256-cbc';
  5. const key = ['this', 'is', 'a', 'test'].join(' ');
  6. const encode = function(str) {
  7. var buf = new Buffer(str)
  8. var encrypted = "";
  9. var cip = crypto.createCipher(algorithm, key);
  10. encrypted += cip.update(buf, 'binary', 'hex');
  11. encrypted += cip.final('hex');
  12. return encrypted;
  13. };
  14. const decode = function(encrypted){
  15. var decrypted = "";
  16. var decipher = crypto.createDecipher(algorithm, key);
  17. decrypted += decipher.update(encrypted, 'hex', 'binary');
  18. decrypted += decipher.final('binary');
  19. return decrypted;
  20. }
  21. http.createServer(function(req, res) {
  22. reqHeaders.push(req.headers);
  23. let enc = encode(req.headers['host']);
  24. let dec = decode(enc);
  25. res.end('hello')
  26. }).listen(8848);

d. 启动应用

  1. ENABLE_NODE_LOG=YES node demo.js

III. 通过控制台观察监控数据,执行诊断操作

  • 控制台 中观察各个监控信息
  • Node.js进程数据中查看进程级别的数据

注:

1. 本例未配置 错误日志报警 等功能。

2. 性能平台每分钟上传一次日志,请等待几分钟后查看数据。

3. 更详细的 Node.js 性能平台 runtime 部署参见 用户指南-部署方式

本文导读目录