安裝雲助手Agent

更新時間:
Copy as MD

需要通過控制台或API進行免登入管理、執行命令或者傳送檔案等操作時,必須在目標執行個體上安裝並運行雲助手Agent。

適用範圍

以下作業系統支援安裝雲助手Agent:

  • Linux:Alibaba Cloud Linux、AlmaLinux 8+、Anolis OS 7+、CentOS 5+、Debian 8+、Ubuntu 12+、RHEL 5+、SUSE 11+、Fedora 33+、CoreOS、OpenSUSE。

  • FreeBSD:11+。

  • Windows:Server 2012+。

2017121日起,通過公用鏡像建立的ECS執行個體已預裝雲助手Agent。

操作步驟

控制台

  1. 訪問ECS控制台-雲助手

  2. 在頁面左側頂部,選擇目標資源所在的資源群組和地區。

  3. 單擊ECS執行個體頁簽,查看當前地區ECS執行個體上的雲助手狀態。

    • 正常:已安裝。

    • 未安裝:單擊一鍵安裝,等待安裝完成,需要重啟執行個體之後查看狀態是否變為正常

      image.png

    • 異常:請參見雲助手異常狀態處理

Linux執行個體

步驟一:檢查是否已安裝雲助手Agent

  1. 使用Workbench登入Linux執行個體

  2. 判斷初始化系統類別型。

    初始化系統(init system)負責在系統啟動時載入和管理服務進程,不同初始化系統對應的雲助手Agent的命令不同。
    • systemd:Alibaba Cloud Linux、CentOS 7+、RHEL 7+、Fedora 15+、Ubuntu 15.04+、Debian 8+等。

    • Upstart:Ubuntu 6.10-14.10、RHEL 6、CentOS 6等。

    • SysVinit:RHEL 5、CentOS 5、Debian 6等。

  3. 驗證是否安裝雲助手Agent。

    systemd

    systemctl status aliyun.service

    若回執資訊包含 Unit aliyun.service could not be found提示,表示未安裝。

    upstart

    /sbin/initctl status aliyun-service

    若回執資訊包含 initctl: Unknown job: aliyun-service提示,表示未安裝。

    sysvinit

    /etc/init.d/aliyun-service status

    若回執資訊為空白,表示未安裝。

步驟二:下載並安裝雲助手Agent

指令碼適用於阿里雲ECS執行個體,預設安裝最新版本的Agent,安裝指定版本請修改VERSION=latest

#!/bin/bash
VERSION=latest
PACKAGE=
PKG_URI=

REGION=$(curl -s 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}"

# 檢測是否為 openSUSE 或 SLES 系統
is_suse_like() {
    if [[ -f /etc/os-release ]]; then
        local os_id
        os_id=$(grep -E "^ID=" /etc/os-release | tr -d '"' | cut -d= -f2)
        local os_version
        os_version=$(grep -E "^VERSION_ID=" /etc/os-release | tr -d '"' | cut -d= -f2 | cut -d. -f1)
        if ([[ "$os_id" == "opensuse"* ]] || [[ "$os_id" == "sles" ]]) && [[ "$os_version" == "16" ]]; then
            return 0
        fi
    fi
    return 1
}

case $arch in
    "i386"|"i686"|"x86_64"|"amd64")
        if command -v rpm && ! command -v dpkg; then
            if [[ "$arch" == "x86_64" ]] && is_suse_like; then
                PACKAGE="aliyun_assist_${VERSION}_x86_64.rpm"
            else
                PACKAGE="aliyun_assist_${VERSION}.rpm"
            fi
        else
            if [[ "$arch" == "x86_64" ]] && is_suse_like; then
                PACKAGE="aliyun_assist_${VERSION}_x86_64.deb"
            else
                PACKAGE="aliyun_assist_${VERSION}.deb"
            fi
        fi
        PKG_URI="https://$DOMAIN/linux/$PACKAGE"
        ;;
    *)
        if command -v rpm && ! command -v dpkg; then
            PACKAGE="aliyun-assist-${VERSION}-1.aarch64.rpm"
        else
            PACKAGE="aliyun-assist_${VERSION}-1_arm64.deb"
        fi
        PKG_URI="https://$DOMAIN/arm/$PACKAGE"
        ;;
esac

echo "[main] package = ${PACKAGE}"
echo "[main] pkg_uri = ${PKG_URI}"

if command -v wget; then
    sudo wget -O "${PACKAGE}" "${PKG_URI}"
elif command -v curl; then
    sudo curl -o "${PACKAGE}" "${PKG_URI}"
else
    echo "[WARN] command wget/curl not found, exit"
    exit 1
fi

if command -v rpm && ! command -v dpkg; 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

Windows執行個體

步驟一:檢查是否已安裝雲助手Agent

  1. 使用遠端桌面/Windows App遠端連線Windows執行個體

  2. 查看雲助手服務狀態。

    1. 單擊開始菜單,搜尋電腦管理

    2. 選擇服務和應用程式 > 服務

    3. 尋找Aliyun Assist Service,若不存在,表示未安裝。

      image

步驟二:下載並安裝雲助手Agent

方法一:通過瀏覽器下載雲助手Agent
  1. 下載雲助手Agent。

    將地址中的{regionId}替換為執行個體所在地區ID後,在瀏覽器中開啟。

    https://aliyun-client-assist-{regionId}.oss-{regionId}-internal.aliyuncs.com/windows/aliyun_agent_latest_setup.exe
    
    # 樣本:杭州(cn-hangzhou)下載地址
    https://aliyun-client-assist-cn-hangzhou.oss-cn-hangzhou-internal.aliyuncs.com/windows/aliyun_agent_latest_setup.exe
  2. 安裝雲助手Agent。

    雙擊雲助手Agent檔案,根據安裝嚮導完成安裝。預設安裝路徑為C:\ProgramData\aliyun\assist\

方法二:通過PowerShell安裝並啟動雲助手Agent

將指令碼中的{regionId}替換為執行個體所在地區ID後,在PowerShell中執行。

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

API

通過API安裝雲助手Agent不區分作業系統類型。

  1. 調用DescribeCloudAssistantStatus查詢目標ECS執行個體是否安裝了雲助手Agent。

    CloudAssistantStatus返回false時,表示未安裝。

  2. 若執行個體未安裝雲助手Agent,則調用InstallCloudAssistant安裝雲助手Agent。

  3. 安裝完成之後,調用RebootInstance重啟ECS執行個體使安裝生效。

CLI

通過阿里雲CLI安裝雲助手Agent不區分作業系統類型。請替換命令中的<YOUR-REGION-ID>為ECS執行個體所在地區ID,<YOUR-INSTANCE-ID>為ECS執行個體ID。

Red Hat Enterprise Linux (RHEL) 不支援通過阿里雲CLI安裝。
  1. 調用DescribeCloudAssistantStatus查詢目標ECS執行個體是否安裝了雲助手Agent。

    aliyun ecs DescribeCloudAssistantStatus --RegionId <YOUR-REGION-ID> --InstanceId.1 <YOUR-INSTANCE-ID> --output cols=CloudAssistantStatus rows=InstanceCloudAssistantStatusSet.InstanceCloudAssistantStatus[]

    返回CloudAssistantStatus=true時,表示ECS執行個體已安裝雲助手Agent。

  2. 調用InstallCloudAssistant安裝雲助手Agent。

    aliyun ecs InstallCloudAssistant --RegionId <YOUR-REGION-ID> --InstanceId.1 <YOUR-INSTANCE-ID>
  3. 調用RebootInstance重啟ECS執行個體。

    aliyun ecs RebootInstance --InstanceId <YOUR-INSTANCE-ID>

常見問題

如果我的作業系統不支援安裝雲助手Agent,該怎麼辦?

為什麼作業系統支援但無法安裝最新版本的雲助手Agent?

部分核心在安裝雲助手時存在最高可安裝版本的限制。

執行uname -r查看核心版本。

執行個體的核心版本號碼

雲助手Agent可升級的最高版本

Linux核心版本 < 2.6.32

  • X86/X64架構:2.2.3.398

  • ARM架構:2.4.3.398

FreeBSD 核心版本 < 12.x

2.3.3.529

FreeBSD作業系統如何安裝雲助手Agent?

  • 適用於阿里雲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
  • 適用於受管理的執行個體(非阿里雲伺服器)

    #!/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

受管理的執行個體(非阿里雲伺服器)如何安裝雲助手Agent?

Linux

指令碼預設安裝最新版本的Agent,安裝指定版本請修改VERSION=latest
#!/bin/bash
VERSION=latest
PACKAGE=
PKG_URI=

DOMAIN=aliyun-client-assist.oss-accelerate.aliyuncs.com

arch=$(uname -m)
echo "[main] arch = ${arch}"

# 檢測是否為 openSUSE 或 SLES 系統
is_suse_like() {
    if [[ -f /etc/os-release ]]; then
        local os_id
        os_id=$(grep -E "^ID=" /etc/os-release | tr -d '"' | cut -d= -f2)
        local os_version
        os_version=$(grep -E "^VERSION_ID=" /etc/os-release | tr -d '"' | cut -d= -f2 | cut -d. -f1)
        if ([[ "$os_id" == "opensuse"* ]] || [[ "$os_id" == "sles" ]]) && [[ "$os_version" == "16" ]]; then
            return 0
        fi
    fi
    return 1
}

case $arch in
    "i386"|"i686"|"x86_64"|"amd64")
        if command -v rpm && ! command -v dpkg; then
            if [[ "$arch" == "x86_64" ]] && is_suse_like; then
                PACKAGE="aliyun_assist_${VERSION}_x86_64.rpm"
            else
                PACKAGE="aliyun_assist_${VERSION}.rpm"
            fi
        else
            if [[ "$arch" == "x86_64" ]] && is_suse_like; then
                PACKAGE="aliyun_assist_${VERSION}_x86_64.deb"
            else
                PACKAGE="aliyun_assist_${VERSION}.deb"
            fi
        fi
        PKG_URI="https://$DOMAIN/linux/$PACKAGE"
        ;;
    *)
        if command -v rpm && ! command -v dpkg; then
            PACKAGE="aliyun-assist-${VERSION}-1.aarch64.rpm"
        else
            PACKAGE="aliyun-assist_${VERSION}-1_arm64.deb"
        fi
        PKG_URI="https://$DOMAIN/arm/$PACKAGE"
        ;;
esac

echo "[main] package = ${PACKAGE}"
echo "[main] pkg_uri = ${PKG_URI}"

if command -v wget; then
    sudo wget -O "${PACKAGE}" "${PKG_URI}"
elif command -v curl; then
    sudo curl -o "${PACKAGE}" "${PKG_URI}"
else
    echo "[WARN] command wget/curl not found, exit"
    exit 1
fi

if command -v rpm && ! command -v dpkg; 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

Windows

方法一:通過瀏覽器開啟網址下載雲助手Agent。
  1. 在瀏覽器中開啟網址下載雲助手Agent。

    https://aliyun-client-assist.oss-accelerate.aliyuncs.com/windows/aliyun_agent_latest_setup.exe
  2. 安裝雲助手Agent。

    雙擊雲助手Agent檔案,根據安裝嚮導完成安裝。預設安裝路徑為C:\ProgramData\aliyun\assist\

方法二:通過PowerShell安裝並啟動雲助手Agent
curl -UseBasicParsing -Uri https://aliyun-client-assist.oss-accelerate.aliyuncs.com/windows/aliyun_agent_latest_setup.exe -OutFile 'C:\\aliyun_agent_latest_setup.exe'
;"C:\\aliyun_agent_latest_setup.exe" '/S' 

雲助手Agent如何通過二進位包或者源碼等方式安裝?

二進位包(Binary)安裝

  • 適用於阿里雲ECS執行個體

    指令碼預設安裝最新版本的Agent,安裝指定版本請修改VERSION=latest
    #!/bin/bash
    
    VERSION=latest
    PACKAGE=
    PKG_URI=
    
    REGION=$(curl -s 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}"
    
    # 檢測是否為 openSUSE 或 SLES 系統
    is_suse_like() {
        if [[ -f /etc/os-release ]]; then
            local os_id
            os_id=$(grep -E "^ID=" /etc/os-release | tr -d '"' | cut -d= -f2)
            local os_version
            os_version=$(grep -E "^VERSION_ID=" /etc/os-release | tr -d '"' | cut -d= -f2 | cut -d. -f1)
            if ([[ "$os_id" == "opensuse"* ]] || [[ "$os_id" == "sles" ]]) && [[ "$os_version" == "16" ]]; then
                return 0
            fi
        fi
        return 1
    }
    
    case $arch in
        "i386"|"i686"|"x86_64"|"amd64")
            if [[ "$arch" == "x86_64" ]] && is_suse_like; then
                PACKAGE="aliyun_assist_${VERSION}_update_x86_64.zip"
            else
                PACKAGE="aliyun_assist_${VERSION}_update.zip"
            fi
            PKG_URI="https://$DOMAIN/linux/$PACKAGE"
            ;;
        *)
            PACKAGE="aliyun_assist_${VERSION}_update_arm.zip"
            PKG_URI="https://$DOMAIN/arm/$PACKAGE"
            ;;
    esac
    
    echo "[main] package = ${PACKAGE}"
    echo "[main] pkg_uri = ${PKG_URI}"
    
    if command -v wget; then
        sudo wget -O "${PACKAGE}" "${PKG_URI}"
    elif command -v curl; then
        sudo 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/
    TRUE_VERSION=$(cat $TARGET_DIR/version)
    sudo chmod a+x $TARGET_DIR/$TRUE_VERSION/update_install
    sudo bash $TARGET_DIR/$TRUE_VERSION/update_install
  • 適用於受管理的執行個體(非阿里雲伺服器)

    #!/bin/bash
    
    VERSION=latest
    PACKAGE=
    PKG_URI=
    
    DOMAIN=aliyun-client-assist.oss-accelerate.aliyuncs.com
    
    arch=$(uname -m)
    echo "[main] arch = ${arch}"
    
    # 檢測是否為 openSUSE 或 SLES 系統
    is_suse_like() {
        if [[ -f /etc/os-release ]]; then
            local os_id
            os_id=$(grep -E "^ID=" /etc/os-release | tr -d '"' | cut -d= -f2)
            local os_version
            os_version=$(grep -E "^VERSION_ID=" /etc/os-release | tr -d '"' | cut -d= -f2 | cut -d. -f1)
            if ([[ "$os_id" == "opensuse"* ]] || [[ "$os_id" == "sles" ]]) && [[ "$os_version" == "16" ]]; then
                return 0
            fi
        fi
        return 1
    }
    
    case $arch in
        "i386"|"i686"|"x86_64"|"amd64")
            if [[ "$arch" == "x86_64" ]] && is_suse_like; then
                PACKAGE="aliyun_assist_${VERSION}_update_x86_64.zip"
            else
                PACKAGE="aliyun_assist_${VERSION}_update.zip"
            fi
            PKG_URI="https://$DOMAIN/linux/$PACKAGE"
            ;;
        *)
            PACKAGE="aliyun_assist_${VERSION}_update_arm.zip"
            PKG_URI="https://$DOMAIN/arm/$PACKAGE"
            ;;
    esac
    
    echo "[main] package = ${PACKAGE}"
    echo "[main] pkg_uri = ${PKG_URI}"
    
    if command -v wget; then
        sudo wget -O "${PACKAGE}" "${PKG_URI}"
    elif command -v curl; then
        sudo 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/
    TRUE_VERSION=$(cat $TARGET_DIR/version)
    sudo chmod a+x $TARGET_DIR/$TRUE_VERSION/update_install
    sudo bash $TARGET_DIR/$TRUE_VERSION/update_install

源碼安裝

樣本通過yum安裝,如果使用其他Linux版本,請修改為對應的包管理工具。

  1. 安裝GitGo等必要的軟體。

    # 安裝Git
    sudo yum install git -y
    
    # 安裝Go
    sudo yum install go -y
  2. 下載雲助手Agent源碼。

    sudo git clone https://github.com/aliyun/aliyun_assist_client
  3. 進入源碼存放目錄,編譯源碼。

    # 進入源碼存放目錄
    cd ./aliyun_assist_client
    
    # 編譯源碼
    sudo go build

    如果返回結果無報錯資訊,表示安裝成功。