云助手Agent是为ECS实例执行云助手命令的程序。本文介绍如何安装云助手Agent。
前提条件
查询您的实例规格以及操作系统是否能使用云助手后,再自行安装云助手Agent。更多信息,请参见使用限制。
背景信息
2017年12月01日之后使用公共镜像创建的ECS实例,默认预装了云助手Agent。
如果您的实例是2017年12月01日之前购买的或使用自行上传的自定义镜像创建的实例,若需要使用云助手相关功能,请参考本文自行安装云助手Agent。
将非阿里云服务器注册为阿里云托管实例,该服务器即可使用阿里云提供的多种在线服务(例如云助手、系统运维管理和云效)来管理或使用该服务器。更多信息,请参见阿里云托管实例。
您需要根据云助手支持的功能来安装对应版本的云助手。云助手支持的功能与支持该功能的云助手最低版本号如下表所示。
云助手支持的功能 | 云助手最低版本号(Linux实例) | 云助手最低版本号(Windows实例) | 相关文档 |
支持上报云助手心跳 | 1.0.2.458 | 1.0.0.149 | 无 |
发送文件 | 1.0.2.569 | 1.0.0.149 | |
执行命令支持指定用户名称 | 2.2.0.106 | 2.1.0.50 | |
支持设置实例下次启动时执行命令 | 2.2.0.46 | 2.1.0.50 | |
支持设置实例每次启动时执行命令 | |||
支持会话管理(Session Manager) | 2.2.3.196 | 2.1.3.196 | |
定时任务的执行规则支持Rate表达式、At表达式 | 2.2.3.282 | 2.1.3.282 | |
定时任务的执行规则中,Cron表达式支持指定年份或时区 | 2.2.3.282 | 2.1.3.282 | |
支持内置环境参数 | 2.2.3.309 | 2.1.3.309 | |
支持将实例名称作为内置环境参数 | 2.2.3.344 | 2.1.3.344 | |
支持通过指定特殊退出码停止或重启实例 | 2.2.3.317 | 2.1.3.317 | |
支持通过指定容器名称,在容器内执行命令 | 2.2.3.344 | 2.1.3.344 | |
支持通过指定容器ID,在容器内执行命令 | 2.2.3.344 | 2.1.3.344 |
不同操作系统可选择的安装方式如下表所示。
实例操作系统 | 选择安装方式 |
Windows | |
Linux(Alibaba Cloud Linux、CentOS、RHEL、SUSE Linux、Debian和Ubuntu等) |
|
FreeBSD | |
Linux(其他) |
|
Windows实例安装云助手Agent
以管理员账号远程连接ECS实例。
具体操作,请参见ECS远程连接方式概述。
下载云助手Agent。
云助手Agent下载地址:
公网地址(最新版本):云助手Agent最新版本。
公网地址(指定版本):
https://aliyun-client-assist.oss-accelerate.aliyuncs.com/windows/aliyun_agent_{version}_setup.exe
内网地址(最新版本):
https://aliyun-client-assist-{regionId}.oss-{regionId}-internal.aliyuncs.com/windows/aliyun_agent_latest_setup.exe
内网地址(指定版本):
https://aliyun-client-assist-{regionId}.oss-{regionId}-internal.aliyuncs.com/windows/aliyun_agent_{version}_setup.exe
说明{version}为云助手Agent的具体版本号。
{regionId}为您实例所在的地域的Region ID。
您可以在ECS控制台上的实例详情页面基本信息区域查看ECS实例所属地域,然后在地域和可用区中查看对应的地域ID。
公网地址和内网地址支持指定下载的云助手版本号如下。
公网地址:1.0.0.128、2.1.2.181、2.1.3.187、2.1.3.221、2.1.3.247、2.1.3.256、2.1.3.269、2.1.3.282、2.1.3.289、2.1.3.326、2.1.3.349、2.1.3.372、2.1.3.398
内网地址:1.0.0.128、2.1.3.221、2.1.3.247、2.1.3.256、2.1.3.265、2.1.3.269、2.1.3.282、2.1.3.289、2.1.3.326、2.1.3.349、2.1.3.372、2.1.3.398
例如在杭州内网下载1.0.0.128版本,则对应地址如下所示。
https://aliyun-client-assist-cn-hangzhou.oss-cn-hangzhou-internal.aliyuncs.com/windows/aliyun_agent_1.0.0.128_setup.exe
双击云助手Agent文件,根据安装向导完成安装。
如果您选择默认安装路径,云助手Agent在Windows实例中的安装目录为C:\ProgramData\aliyun\assist\。
您也可以将上述下载和安装的步骤整合成powershell脚本,以下脚本以内网最新版本地址为例,使用时请将
{regionId}
替换为您实例所在的地域的Region ID。curl -UseBasicParsing -Uri https://aliyun-client-assist-{regionId}.oss-{regionId}-internal.aliyuncs.com/windows/aliyun_agent_latest_setup.exe -OutFile 'C:\\aliyun_agent_latest_setup.exe' &"C:\\aliyun_agent_latest_setup.exe" '/S'
(可选)如果ECS实例的网络类型为经典网络,需要执行以下操作。
在云助手的安装目录下,创建名为region-id的文件(不要添加类似.txt或.conf的扩展名)。
重要Windows系统会隐藏已知文件类型的扩展名,您必须设置显示已知文件类型的扩展名才能真正判断region-id是否带有扩展名。
在region-id文件中填入ECS实例所属地域的ID,例如cn-hangzhou。
说明您可以在ECS控制台上的实例详情页面基本信息区域查看ECS实例所属地域,然后在地域和可用区中查看对应的地域ID。
以Windows Server 2012 R2为例,在云助手默认安装路径C:\ProgramData\aliyun\assist\下新建的region-id文件及填入cn-hangzhou地域ID的示例结果如下:
Linux实例安装云助手Agent
RPM和DEB包管理方式
适合Alibaba Cloud Linux、CentOS、RHEL、SUSE Linux、Debian和Ubuntu等操作系统。
以sudo权限的用户远程连接ECS实例。
具体操作,请参见使用Workbench工具以SSH协议登录Linux实例。
执行如下脚本,完成云助手安装包的下载与安装。
重要以下脚本会默认安装最新版本的Agent,如果您想安装指定版本,请将脚本中
VERSION=latest
修改为指定的版本号,例如VERSION=2.2.3.398
,可用的版本有:x86版本:2.2.0.102、2.2.0.106、2.2.2.181、2.2.3.187、2.2.3.221、2.2.3.247、2.2.3.256、2.2.3.269、2.2.3.282、2.2.3.289、2.2.3.326、2.2.3.349、2.2.3.372、2.2.3.398
ARM版本:2.4.3.282、2.4.3.326、2.4.3.349、2.4.3.372、2.4.3.398
内网下载安装脚本
推荐,适用于ECS实例,默认可以通过内网下载。
#!/bin/bash VERSION=latest PACKAGE= PKG_URI= REGION=$(curl http://100.100.100.200/latest/meta-data/region-id) DOMAIN=aliyun-client-assist-${REGION}.oss-${REGION}-internal.aliyuncs.com arch=$(uname -m) echo "[main] arch = ${arch}" case $arch in "i386"|"i686"|"x86_64"|"amd64") if command -v rpm; then PACKAGE="aliyun_assist_${VERSION}.rpm" else PACKAGE="aliyun_assist_${VERSION}.deb" fi PKG_URI="https://$DOMAIN/linux/$PACKAGE" ;; *) if command -v rpm; then PACKAGE="aliyun-assist-${VERSION}-1.aarch64.rpm" else PACKAGE="aliyun-assist-${VERSION}-1_arm64.deb" fi PKG_URI="https://$DOMAIN/arm/$PACKAGE" esac if command -v wget; then sudo wget $PKG_URI elif command -v curl; then curl -o $PACKAGE $PKG_URI else echo "[WARN] command wget/curl not found, exit" exit 1; fi; if command -v rpm; then sudo rpm -ivh --force $PACKAGE elif command -v dpkg; then sudo dpkg -i $PACKAGE else echo "[WARN] command rpm/dpkg not found, exit" exit 2; fi if [[ -e /etc/redhat-release ]]; then if sudo systemctl status qemu-guest-agent; then sudo systemctl stop qemu-guest-agent sudo systemctl disable qemu-guest-agent sudo systemctl restart aliyun.service fi fi
公网下载安装脚本
适用于非阿里云主机以及可出公网的ECS实例。
#!/bin/bash VERSION=latest PACKAGE= PKG_URI= DOMAIN=aliyun-client-assist.oss-accelerate.aliyuncs.com arch=$(uname -m) echo "[main] arch = ${arch}" case $arch in "i386"|"i686"|"x86_64"|"amd64") if command -v rpm; then PACKAGE="aliyun_assist_${VERSION}.rpm" else PACKAGE="aliyun_assist_${VERSION}.deb" fi PKG_URI="https://$DOMAIN/linux/$PACKAGE" ;; *) if command -v rpm; then PACKAGE="aliyun-assist-${VERSION}-1.aarch64.rpm" else PACKAGE="aliyun-assist-${VERSION}-1_arm64.deb" fi PKG_URI="https://$DOMAIN/arm/$PACKAGE" esac if command -v wget; then sudo wget $PKG_URI elif command -v curl; then curl -o $PACKAGE $PKG_URI else echo "[WARN] command wget/curl not found, exit" exit 1; fi; if command -v rpm; then sudo rpm -ivh --force $PACKAGE elif command -v dpkg; then sudo dpkg -i $PACKAGE else echo "[WARN] command rpm/dpkg not found, exit" exit 2; fi if [[ -e /etc/redhat-release ]]; then if sudo systemctl status qemu-guest-agent; then sudo systemctl stop qemu-guest-agent sudo systemctl disable qemu-guest-agent sudo systemctl restart aliyun.service fi fi
FreeBSD
以sudo权限的用户远程连接ECS实例。
具体操作,请参见使用Workbench工具以SSH协议登录Linux实例。
执行如下脚本,完成云助手安装包的下载与安装。
重要以下脚本会默认安装最新版本的Agent,如果您想安装指定版本,请将脚本中
VERSION=latest
修改为指定的版本号,例如VERSION=2.2.3.398
,可用的版本有:2.3.3.529、2.3.3.704、2.3.3.857。FreeBSD 11仅支持2.3.3.529版本。
内网下载安装脚本
推荐,适用于ECS实例,默认可以通过内网下载。
#!/bin/sh VERSION=latest use_curl=0 which curl >/dev/null 2>&1 && use_curl=1 if [ $use_curl -eq 1 ];then REGION=$(curl http://100.100.100.200/latest/meta-data/region-id) else REGION=$(wget -O - http://100.100.100.200/latest/meta-data/region-id) fi DOMAIN=aliyun-client-assist-${REGION}.oss-${REGION}-internal.aliyuncs.com PACKAGE=aliyun_assist_${VERSION}.txz PKG_URI="https://$DOMAIN/freebsd/$PACKAGE" if [ $use_curl -eq 1 ];then curl -o $PACKAGE $PKG_URI else wget -O $PACKAGE $PKG_URI fi pkg install -U -y $PACKAGE service aliyun start
公网下载安装脚本
适用于非阿里云主机以及可出公网的ECS实例。
#!/bin/sh VERSION=latest DOMAIN=aliyun-client-assist.oss-accelerate.aliyuncs.com PACKAGE=aliyun_assist_${VERSION}.txz PKG_URI="https://$DOMAIN/freebsd/$PACKAGE" use_curl=0 which curl >/dev/null 2>&1 && use_curl=1 if [ $use_curl -eq 1 ];then curl -o $PACKAGE $PKG_URI else wget -O $PACKAGE $PKG_URI fi pkg install -U -y $PACKAGE service aliyun start
Binary安装方式
适合主流Linux操作系统。
以sudo权限的用户远程连接ECS实例。
具体操作,请参见使用Workbench工具以SSH协议登录Linux实例。
执行如下脚本,完成云助手安装包的下载与安装。
重要以下脚本会默认安装最新版本的Agent,如果您想安装指定版本,请将脚本中
VERSION=latest
修改为指定的版本号,例如VERSION=2.2.3.398
,可用的版本有:x86版本:2.2.3.282、2.2.3.289、2.2.3.326、2.2.3.349、2.2.3.372、2.2.3.398
ARM版本:2.4.3.282、2.4.3.326、2.4.3.349、2.4.3.372、2.4.3.398
内网下载安装脚本
推荐,适用于ECS实例,默认可以通过内网下载。
#!/bin/bash VERSION=latest PACKAGE= PKG_URI= REGION=$(curl http://100.100.100.200/latest/meta-data/region-id) DOMAIN=aliyun-client-assist-${REGION}.oss-${REGION}-internal.aliyuncs.com arch=$(uname -m) echo "[main] arch = ${arch}" case $arch in "i386"|"i686"|"x86_64"|"amd64") PACKAGE="aliyun_assist_${VERSION}.deb" PKG_URI="https://$DOMAIN/linux/$PACKAGE" ;; *) PACKAGE="aliyun-assist-${VERSION}-1_arm64.deb" PKG_URI="https://$DOMAIN/arm/$PACKAGE" esac if command -v wget; then sudo wget $PKG_URI elif command -v curl; then curl -o $PACKAGE $PKG_URI else echo "[WARN] command wget/curl not found, exit" exit 1 fi; TARGET_DIR=/usr/local/share/aliyun-assist sudo unzip -o $PACKAGE -d $TARGET_DIR/ sudo chmod a+x $TARGET_DIR/$VERSION/update_install sudo bash $TARGET_DIR/$VERSION/update_install
公网下载安装脚本
适用于非阿里云主机以及可出公网的ECS实例。
#!/bin/bash VERSION=latest PACKAGE= PKG_URI= DOMAIN=aliyun-client-assist.oss-accelerate.aliyuncs.com arch=$(uname -m) echo "[main] arch = ${arch}" case $arch in "i386"|"i686"|"x86_64"|"amd64") PACKAGE="aliyun_assist_${VERSION}_update.zip" PKG_URI="https://$DOMAIN/linux/$PACKAGE" ;; *) PACKAGE="aliyun-assist-${VERSION}-update_arm.zip" PKG_URI="https://$DOMAIN/arm/$PACKAGE" esac if command -v wget; then sudo wget $PKG_URI elif command -v curl; then curl -o $PACKAGE $PKG_URI else echo "[WARN] command wget/curl not found, exit" exit 1 fi; TARGET_DIR=/usr/local/share/aliyun-assist sudo unzip -o $PACKAGE -d $TARGET_DIR/ sudo chmod a+x $TARGET_DIR/$VERSION/update_install sudo bash $TARGET_DIR/$VERSION/update_install
源代码安装方式
以sudo权限的用户远程连接ECS实例。
具体操作,请参见使用Workbench工具以SSH协议登录Linux实例。
安装Git和Go等必要的软件。
此示例通过yum安装,如果您使用其他Linux版本,请修改为对应的包管理工具。
安装Git:
sudo yum install git -y
安装Go:
sudo yum install go -y
下载云助手Agent源码。
sudo git clone https://github.com/aliyun/aliyun_assist_client
进入源码存放目录。
cd ./aliyun_assist_client
编译源码。
sudo go build
如果返回结果无报错信息,表示安装成功。
如果ECS实例的网络类型为经典网络,执行以下操作。
在云助手的安装目录下,创建名为region-id的文件,并在region-id文件中填入ECS实例所属地域的ID。以云助手默认安装路径为例,创建region-id文件并添加cn-hangzhou地域ID的命令如下:
CoreOS操作系统:
sudo sh -c 'echo "cn-hangzhou" > /opt/local/share/aliyun-assist/region-id'
其他操作系统(Alibaba Cloud Linux、Ubuntu、Debian、RedHat、SUSE Linux Enterprise Server和OpenSUSE等):
sudo sh -c 'echo "cn-hangzhou" > /usr/local/share/aliyun-assist/region-id'
以其他操作系统(Alibaba Cloud Linux、Ubuntu、Debian、RedHat、SUSE Linux Enterprise Server和OpenSUSE等)为例,回显如下:
运行云助手Agent。
aliyun-service -d
通过阿里云CLI安装云助手Agent(Windows或Linux实例)
通过阿里云CLI安装客户端,可免除远程连接实例的步骤,请确保您已经为本地客户端安装了阿里云CLI,在不同操作系统中安装CLI的方式如下:
RHEL不支持通过阿里云CLI安装。
调用DescribeCloudAssistantStatus查询目标ECS实例是否安装了云助手Agent。
aliyun ecs DescribeCloudAssistantStatus --RegionId TheRegionId --InstanceId.1 i-bp1g6zv0ce8og******p --output cols=CloudAssistantStatus rows=InstanceCloudAssistantStatusSet.InstanceCloudAssistantStatus[]
返回
CloudAssistantStatus=true
时,表示ECS实例已安装云助手Agent。否则,请继续下一步。调用InstallCloudAssistant安装云助手Agent。
aliyun ecs InstallCloudAssistant --RegionId TheRegionId --InstanceId.1 i-bp1g6zv0ce8og******p
调用RebootInstance重启ECS实例。
aliyun ecs RebootInstance --InstanceId i-bp1g6zv0ce8og******p
如果ECS实例的网络类型为经典网络,在实例内部添加所属地域声明。
以root/system权限远程连接ECS实例。
具体操作,请参见ECS远程连接方式概述。
查看云助手版本。
Linux:运行以下命令。
aliyun-service -v
Windows:具体操作,请参见升级或禁止升级云助手Agent。
如果云助手Agent版本高于1.0.1.400,云助手Agent安装成功;否则,继续下一步操作。
创建region-id文件并填入ECS实例所属地域的ID。
Linux
在云助手的安装目录下,创建名为region-id的文件,并在region-id文件中填入ECS实例所属地域的ID。以云助手默认安装路径为例,创建region-id文件并添加cn-hangzhou地域ID的命令如下:
CoreOS操作系统:
sudo sh -c 'echo "cn-hangzhou" > /opt/local/share/aliyun-assist/region-id'
其他操作系统(Alibaba Cloud Linux、Ubuntu、Debian、RedHat、SUSE Linux Enterprise Server和OpenSUSE等):
sudo sh -c 'echo "cn-hangzhou" > /usr/local/share/aliyun-assist/region-id'
以其他操作系统(Alibaba Cloud Linux、Ubuntu、Debian、RedHat、SUSE Linux Enterprise Server和OpenSUSE等)为例,回显如下:
Windows
在云助手的安装目录下,创建名为region-id的文件(不要添加类似.txt或.conf的扩展名)。
重要Windows系统会隐藏已知文件类型的扩展名,您必须设置显示已知文件类型的扩展名才能真正判断region-id是否带有扩展名。
在region-id文件中填入ECS实例所属地域的ID,例如cn-hangzhou。
说明您可以在ECS控制台上的实例详情页面基本信息区域查看ECS实例所属地域,然后在地域和可用区中查看对应的地域ID。
以Windows Server 2012 R2为例,在云助手默认安装路径C:\ProgramData\aliyun\assist\下新建的region-id文件及填入cn-hangzhou地域ID的示例结果如下:
查看ECS实例的云助手Agent信息
您安装好云助手Agent后,可以通过以下步骤查看ECS实例的云助手Agent版本号、状态等信息。
登录ECS管理控制台。
在左侧导航栏,选择 。
在页面左侧顶部,选择目标资源所在的资源组和地域。
单击ECS实例页签,查看当前地域ECS实例上的云助手Agent信息。
部分内核版本号允许升级云助手Agent的最高版本
实例的内核版本号 | 云助手Agent可升级的最高版本 |
Linux内核版本号小于2.6.32 |
|
FreeBSD 11及以下(内核版本号小于12.x) | 2.3.3.529 |