alinode使用初始化步骤较为复杂,没有办法一行代码完成。本文分享下如何一步一步部署alinode。
申请试用资格
alinode的主页http://alinode.aliyun.com/提供公测试用申请,但用户数量是按天开放的,所以如果抢不到试用名额,凌晨时候申请一定能成功。目前alinode还没有收费,趁这个机会能够体验下alinode高级功能。
创建应用
申请到试用资格的用户可以在控制台http://alinode.aliyun.com/dashboard创建一个逻辑上的应用,每个用户可以创建多个应用。每个应用可以映射到多台服务器上,也就是说一个应用可以连接多个agentx。 创建应用后,可以拿到应用的appid和secret。点击应用设置可以看到。如图:
appid和secret: 这两个信息都是极度机密,打死也不要告诉他人。
安装agentx
agentx是alinode用来做命令执行和数据监控的agent工具。与某些agent不同的是,agentx是完全开源的,每个用户都能查看每行代码。另外agentx能执行的命令是有限的,这些命令也是完全开源的。
安装命令:
$ npm install agentx -g
执行agentx -v
可以查看版本号。
agentx需要与alinode的服务相连,这里需要一些特定的配置。配置文件是一个json格式的文件,以下为示例:
{
"server": "120.55.151.247:8080", // alinode服务的地址,请不要修改
"appid": "您的应用ID", // 上文创建的应用的app id
"secret": "您的应用Secret", // 上文创建的应用的app secret
"heartbeatInterval": 60, // 不用修改
"reconnectDelay": 10, // 不用修改
"reportInterval": 60, // 不用修改
"logdir": "alinode生产的日志放置的路径,与NODE_LOG_DIR路径保持一致。如:/tmp/", // 如果不知道,就用 /tmp
"cmddir": "命令集路径,绝对路径,如:/Users/jacksontian/commands", // 命令集路径
"error_log": [
"异常日志路径,如:/root/.logs/error.#YYYY#-#MM#-#DD#.log"
] // 可以配置一个异常日志的路径,其中#YYYY#、#MM#、#DD#是通配符,自动解释为当前时间的数据。如果不了解,将这里设置为空数组
}
将上述示例的注释清理掉后,确保语法没有错误,保存为config.json,或者以.json结尾的任意文件名。其中cmddir的路径可以设置为%HOME%/commands。
安装命令集
命令集位于:https://github.com/aliyun-node/commands,您可以通过clone,或者直接下载压缩包的方式将命令集安装到服务器上的cmddir路径下即可。注意请确保cmddir目录下就是脚本文件,而不是目录。
运行agentx
设置好配置和安装好命令集后,执行:
$ nohup agentx /path/to/your/config.json &
注意nohup和最后的&不能丢,表示长期运行这个命令。
完成上述操作后,1分钟后即可在你的应用页面查看到一些数据。比如:
绿色的小灯表示agentx正常连接中。
当前正在执行的Node进程列表:
一些系统级的数据:
安装alinode运行时
安装alinode运行时通过tnvm安装即可,速度是分钟级。
安装tnvm
wget -qO- https://raw.githubusercontent.com/aliyun-node/tnvm/master/install.sh | bash
完成安装后,您需要将tnvm添加为命令行程序。根据平台的不同,可能是~/.bashrc,~/.profile或~/.zshrc等,请根据提示进行手工操作。如:
source ~/.bashrc
完成上述操作后,tnvm就成为当前shell环境中的命令了。
选择alinode版本
执行tnvm ls-remote alinode
查看所有的alinode版本。
执行下面的命令安装一个版本:
tnvm install alinode-vx.x.x
执行下面的命令使用一个版本:
tnvm use alinode-vx.x.x
alinode运行时是完全兼容社区node版本的运行时,无需修改任何代码才能使用。
运行alinode
通过tnvm安装alinode后,即可用alinode来启动你的应用。在设置以下环境变量会启用alinode的特别功能:
export ENABLE_NODE_LOG=YES # 开启alinode的node log功能,使得agentx可以监控虚拟机级别的性能数据
export NODE_LOG_DIR=/tmp/ # 指定生成的node log路径。可选。如果设置的话,请保持与agentx配置中的logdir值一致。
然后就可以像平常运行node一样启动你的应用:node xxx.js
总结
完成以上设置后,一分钟后就可以从alinode的dashboard看到更为细致的进程级别性能数据。如: