在ECS管理控制台执行云助手命令与您登录实例后运行命令一样,只有满足所需条件后,命令才会运行成功。建议您在执行命令后查看命令执行结果与状态,确保目标操作已完成。如果执行失败,可以根据常见错误信息定位并修复问题。

背景信息

当出现ECS实例缺乏相关依赖、网络异常、命令语义错误、脚本调试失败或者实例状态异常等情况时,命令会呈现不同的执行状态与执行结果。您可以通过控制台或API查看执行结果中的错误信息,诊断并修复问题。

控制台查看执行结果

  1. 登录ECS管理控制台云助手页面
  2. 在顶部菜单栏左上角处,选择地域。
  3. 单击执行记录页签,查看命令执行结果。
    • 如果命令执行成功,在执行结果中查看输出信息。
      1. 找到执行状态执行完成的目标记录。
      2. 操作栏中,单击查看
      3. 命令执行结果页面,查看任务输出查看执行结果
    • 如果命令执行失败,在执行结果中查看错误信息,并根据错误信息诊断和修复问题。
      1. 找到执行状态执行失败的目标记录。
      2. 操作栏中,单击查看
      3. 命令执行结果页面,查看执行失败的错误信息。

        常见错误信息及修复建议,请参见执行失败常见错误及修复建议

        执行失败错误信息

CLI查看执行结果

如果您通过CLI或OpenAPI使用云助手,可以调用DescribeInvocationsDescribeInvocationResults接口查询云助手命令执行结果。如果执行失败,您可以根据返回值中的ErrorCodeErrorInfo字段了解错误信息。

以下示例介绍如何在CLI中调用DescribeInvocationsDescribeInvocationResults接口。

  • 调用DescribeInvocations接口查看命令执行状态。
    aliyun ecs DescribeInvocations --RegionId TheRegionId --InvokeId your-invoke-id
  • 调用DescribeInvocationResults查看指定实例的命令的实际执行结果。
    aliyun ecs DescribeInvocationResults --RegionId TheRegionId --InstanceId i-bp1g6zv0ce8og******p --InvokeId your-invoke-id

执行失败常见错误及修复建议

错误码 错误信息 修复建议
InstanceNotRunning 创建任务时,该实例不在运行中。 请确认实例是否正常运行。
ClientNotRunning 云助手客户端未运行。 因为云助手客户端已停止或未安装,请按照以下步骤启动或安装云助手客户端。
  1. 检查云助手客户端对应进程是否正常运行。
    • Linux:执行以下命令。
      ps -ef |grep aliyun-service
    • Windows:在任务管理器中查看是否存在aliyun_assist_service进程。
  2. 如果进程不存在,则启动云助手客户端。
    • Linux:执行以下命令。
      #Linux系统支持systemctl
      systemctl start aliyun.service
      
      #Linux系统不支持systemctl
      /etc/init.d/aliyun-service start
    • Windows:通过服务管理器启动AliyunService服务。
说明 如果以上操作还未能启动云助手客户端,请重新安装云助手,具体操作请参见安装云助手客户端
ClientNetworkBlocked 实例网络环境异常。
  1. 执行以下命令检查网络连通性,返回ok表示网络正常。
    curl https://{region-id}.axt.aliyun.com/luban/api/connection_detect

    其中{region-id}表示实例所在的地域,例如杭州为cn-hangzhou

  2. 如果返回网络失败,请从安全组、防火墙、DNS设置和路由表等方面排查网络问题。
    说明 需要在内网出方向放行TCP 443、TCP 80、UDP 53端口,确保云助手能够内网访问https://{region-id}.axt.aliyun.com:443/和http://100.100.100.200:80/。
ClientNotResponse 云助手客户端未响应。 请结合云助手客户端的日志进行排查。
  1. 打开云助手客户端的日志文件,日志文件默认路径如下所示。
    • Linux:/usr/local/share/aliyun-assist/<云助手版本号>/log/aliyun_assist_main.log
    • Windows:C:\ProgramData\aliyun\assist\<云助手版本号>\log\aliyun_assist_main.log
  2. 查询日志中是否存在对应的命令执行ID。
    • 如果存在此ID,检查上下文中是否有异常信息,例如云助手命令是否执行完毕及是否上报成功。
    • 如果不存在此ID,则重新执行云助手命令。如果重新执行还是失败,则建议重启云助手客户端。
      • Linux系统:执行以下命令。
        #Linux系统支持systemctl
        systemctl restart aliyun.service
        
        #Linux系统不支持systemctl
        /etc/init.d/aliyun-service restart
      • Windows:通过服务管理器启动AliyunService服务。
DeliveryTimeout 云助手服务端到客户端下发任务失败。 云助手命令尚未下发到实例中,建议重新执行,如果执行多次还是失败,请提交工单排查。