全部产品
云市场

自助式部署 runtime

更新时间:2019-01-10 11:41:09

1. 安装 Node.js 性能平台运行时

Node.js 性能平台使用 tnvm 进行版本维护,采用如下命令安装 tnvm

  1. wget -O- https://raw.githubusercontent.com/aliyun-node/tnvm/master/install.sh | bash

tnvm 添加到系统命令。根据上面命令最后的提示,针对不同操作系统,进行手工操作。例如 linux 系统下

  1. source ~/.bashrc

利用 tnvm 安装需要版本的运行时。请参考 Node.js性能平台运行时版本 选择合适的运行时版本。

查看远端版本

  1. tnvm ls-remote alinode

安装需要版本:版本对应关系

请根据版本对应关系,选择合适(与当前应用使用的 Node.js 版本一致)的 alinode 版本。

  1. tnvm install alinode-vx.y.z

使用vx.y.z的运行时

  1. tnvm use alinode-vx.y.z

2. 安装 agenthub

agenthub 是为 Node.js 性能平台的常驻代理服务,可以帮助执行一些监控和诊断的操作,并且它包含一组 Node.js 性能平台服务执行任务所需要的命令集合,Node.js 性能平台有且仅有执行这些命令的权限。

agenthub 同时是一个 npm 命令行工具,通过如下命令可以完成安装:

  1. npm install @alicloud/agenthub -g

推荐阿里云用户使用 cnpm 安装任何 npm 模块

3. 配置和启动 agenthub

agenthub 需要一个配置文件来进行使用,agenthub 仅会在配置指定下的目录执行命令或读取日志。

极简配置

最简单的配置只需要传入 appid 和 secret 即可,格式如下:

  1. {
  2. "appid": "<YOUR APPID>",
  3. "secret": "<YOUR SECRET>"
  4. }

其中您的应用 ID 和您的应用 Secret 请在应用设置页面获取。将上述配置保存为 config.json ,完成配置后,请使用以下命令进行执行:

  1. $ agenthub start config.json

agenthub 将以常驻进程的方式执行,agenthub 运行日志文件为 ~/.agenthub.log 文件中。如果 agenthub 启动不成功,控制台将无法看到系统和进程详细信息,您可以以 DEBUG 方式启动 agenthub,查看 ~/.agenthub.log 日志来确定异常。

  1. DEBUG=* agenthub start config.json

部署完成后,请访问 https://node.console.aliyun.com/ 查看您的应用详情。如果一切正常,稍等片刻(1分钟)即可收到你的应用性能数据。

详细配置

详细配置如下所示:

注意: logdir 应该与 启动应用 时设置的环境变量 NODE_LOG_DIR 的值一致。

  1. {
  2. "appid": "<YOUR APPID>",
  3. "secret": "<YOUR SECRET>",
  4. "logdir": "</path/to/your/log/dir>",
  5. "error_log": [
  6. "</path/to/your/error.log>",
  7. "您的应用在业务层面产生的异常日志的路径",
  8. "例如:/root/.logs/error.#YYYY#-#MM#-#DD#-#HH#.log",
  9. "可选"
  10. ],
  11. "packages": [
  12. "</path/to/your/package.json>",
  13. "可以输入多个package.json的路径",
  14. "可选"
  15. ],
  16. "disks": [
  17. "/",
  18. "/home/user"
  19. "可选"
  20. ],
  21. "agentidMode": "IP" “可选”
  22. }
  • error_log 配置完成后您可以在 Node.js 性能平台上看到规整后的错误日志信息;

  • packages 配置完成后您可以看到项目的版本依赖,以及对应的安全风险提示;

  • disks 配置需要监控的磁盘,可以在系统监控监控数据查看;

  • agentidMode 设置为IP时,实例 ID 会添加部分 IP 信息,主要用于多个容器 hostname 相同的场景。

配置中的#YYYY#、#MM#、#DD#、#HH#是通配符,如果您的异常日志是按时间生成的,请使用它。

4. 启动应用

使用安装好的 Node.js 性能平台的 runtime 启动并监控应用。

直接启动应用

  1. NODE_LOG_DIR=/tmp ENABLE_NODE_LOG=YES node app.js

使用pm2管理的应用

  1. NODE_LOG_DIR=/tmp ENABLE_NODE_LOG=YES pm2 start app.js

如果在控制台无法查看到监控数据,请参考 常见问题 章节。