全部产品
Search
文档中心

云服务器 ECS:查看执行结果及修复常见问题

更新时间:May 24, 2023

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

背景信息

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

查看执行结果

控制台查看执行结果

  1. 登录ECS管理控制台
  2. 在左侧导航栏,选择运维与监控 > 发送命令/文件(云助手)
  3. 在顶部菜单栏左上角处,选择地域。
  4. 单击命令执行结果页签,查看命令执行结果。

    • 如果命令执行成功,在执行结果中查看输出信息。

      1. 找到执行状态执行成功的命令执行结果。

      2. 操作栏中,单击查看

      3. 实例列表页面的执行完成页签,查看命令执行结果。查看执行结果

    • 如果命令执行失败,在执行结果中查看错误信息,并根据错误信息诊断和修复问题。

      1. 找到执行状态执行失败的命令执行结果。

      2. 操作栏中,单击查看

      3. 实例列表页面的执行失败页签,查看执行失败的错误信息。

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

        执行失败错误信息
    • 查看定时执行任务的输出信息。

      1. 找到执行状态等待执行的命令执行结果。

      2. 操作栏中,单击查看

      3. 实例列表页面,查看命令执行结果。

        以下示例为每隔15分钟执行一次的命令执行结果。

        定时任务执行结果

通过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

创建任务时,该实例不在运行中。

请确认实例是否正常运行。

InstanceRestarted

实例在任务执行期间被重启。

请不要在执行任务时重启实例。

ClientNotRunning

云助手Agent未运行。

因为云助手Agent已停止或未安装,请按照以下步骤启动或安装云助手Agent

  1. 检查云助手Agent对应进程是否正常运行。

    • Linux:执行以下命令。

      ps -ef |grep aliyun-service
    • Windows:在任务管理器中查看是否存在aliyun_assist_service进程。

  2. 如果进程不存在,则启动云助手Agent

    • Linux:执行以下命令。

      #Linux系统支持systemctl
      systemctl start aliyun.service
      
      #Linux系统不支持systemctl
      /etc/init.d/aliyun-service start
    • Windows:通过服务管理器启动AliyunService服务。

说明

如果以上操作还未能启动云助手Agent,请重新安装云助手。具体操作,请参见安装云助手Agent

ClientNetworkBlocked

实例网络环境异常。

  1. 执行以下命令检查网络连通性,如果返回当前实例的ID,则表示网络正常。

    curl https://{region-id}.axt.aliyun.com/luban/api/instance/instance-id
  2. 如果没有返回当前实例的ID,请从安全组、防火墙、DNS设置和路由表等方面排查网络问题。您需要在内网出方向放行TCP 443、TCP 80、UDP 53端口,确保云助手能够内网访问以下地址:

    • https://{region-id}.axt.aliyun.com:443/

    • http://100.100.100.200:80/

    • http://aliyun-client-assist-{region-id}.oss-{region-id}-internal.aliyuncs.com

      因为云助手Agent安装包所在的OSS存储空间为私有访问权限,只有对应的安装包文件为公共读权限,所以在您验证该域名的连通性时,返回“AccessDenied”信息即表示该域名可以正常连通。

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

  • 各地域云助手服务器的域名与IP地址,请参见精细配置

ClientNotResponse

云助手Agent未响应。

请结合云助手Agent的日志进行排查。

  1. 打开云助手Agent的日志文件,日志文件默认路径如下所示。

    • 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,则重新执行云助手命令。如果重新执行还是失败,则建议重启云助手Agent

      • Linux系统:执行以下命令。

        #Linux系统支持systemctl
        systemctl restart aliyun.service
        
        #Linux系统不支持systemctl
        /etc/init.d/aliyun-service restart
      • Windows:通过服务管理器启动AliyunService服务。

ClientNeedUpgrade

云助手Agent需要升级。

请启用云助手Agent的自动升级功能,或者手动升级云助手Agent。具体操作,请参见升级或禁止升级云助手Agent

ClientNotOnline

云助手Agent未连接到服务器。

请重新启动云助手Agent,具体操作,请参见启动、停止或者卸载云助手Agent。如果重新启动后云助手Agent仍然无法连接到服务器,请提交工单排查。

DeliveryTimeout

云助手服务端到云助手Agent下发任务失败。

云助手命令尚未下发到实例中,建议重新执行,如果执行多次还是失败,请提交工单排查。

ExecutionTimeout

命令执行超时。

请根据需要延长命令执行超时时间。

  • 如果在控制台创建并执行命令,超时时间默认为60秒,请设置为适当的值。

  • 如果调用RunCommand执行命令,Timeout默认取值60秒,请设置为适当的值。

  • 如果调用CreateCommand创建命令并调用InvokeCommand执行命令,在创建命令时Timeout默认取值60秒,请在创建命令时设置为适当的值,或者在创建命令后调用ModifyCommand修改为适当的值。

ExecutionException

命令执行发生异常。

请查看ErrorInfo字段提示的详细错误信息。如果无法通过错误信息定位问题,请提交工单排查。

ExitCodeNonzero

命令执行结束,但命令进程的退出码非0。

请检查命令脚本内容以及命令的输出信息。