You need to enable JavaScript to run this app.
文档中心
云服务器

云服务器

复制全文
下载 pdf
监控
查询与响应“因基础设施升级实例重新部署”事件
复制全文
下载 pdf
查询与响应“因基础设施升级实例重新部署”事件
本文介绍如何通过控制台及平台提供的OpenAPI,查询与响应InfrastructureUpgrade.Redeploy(因基础设施升级实例重新部署)事件,快速排除故障、确保云产品稳定运行。​
操作场景​
随着业务发展和云服务器宿主机(物理机)的健康状态变化,平台将对部分老旧、性能不佳的基础设施进行升级和改造。此种情况下,将生成InfrastructureUpgrade.Redeploy(因基础设施升级实例重新部署)事件并通知您。​
收到通知后,您可以进行如下操作:​
注意​
  • 由于运维期间会对实例执行关机、重启等操作,因此会对您的业务造成影响,请选择合适的时间执行运维。​
  • 暂仅通用型、计算型、内存型、高主频型规格族实例触发的InfrastructureUpgrade.Redeploy(因基础设施升级实例重新部署)事件支持自动运维能力;若您还未授权,或已授权并已预约执行时间,但未到执行时间,此时,实例也会因变配、开机、重启等触发自动运维(自动取消)操作。​
  • 授权运维​
  • 选择运维时间窗口,并手动授权运维人员将您的实例部署到新的宿主机中,避免由于基础设施升级影响您的实例运行。​
您还可以通过创建计划维护窗口开启自动授权功能,待InfrastructureUpgrade.Redeploy(因基础设施升级实例重新部署)事件产生时,自动授权火山引擎将您的实例部署到新的宿主机中。了解更多。​
  • 自动运维​
  • 通过对实例变配、开机或重启触发自动运维操作,即实例被自动部署到健康宿主机(物理机),以便及时规避风险,避免您的业务、数据受损。​
本文以手动授权运维操作为例说明。​
操作流程​
​​​
操作步骤​
在控制台响应事件​
本实践以“事件监控”页面响应事件为例,您还可以前往实例详情页响应事件,操作详情可查看在云服务器控制台查询并处理事件。​
  1. 在左侧导航树,选择“运维与监控 > 事件监控”,进入事件监控列表页。​
  1. 在顶部导航栏,选择目标实例所属的项目和地域。​
  1. 通过事件ID或时间筛选目标事件。​
以实例触发InfrastructureUpgrade.Redeploy(因基础设施升级实例重新部署)事件为例,更多事件类型可查看ECS事件类型汇总。​
  1. 单击事件“操作”列的“授权重新部署”按钮,进行授权响应。​
  • ​​​
  1. 选择重新部署实例的时间窗并同意授权。​
  • ​​​
  1. 单击“确定”按钮,完成授权响应。​
  1. 成功授权后,事件状态将更新为执行中。​
  • ​​​
  • 运维人员将按您设置的时间窗重新部署实例,部署成功后,事件状态将更新为执行成功。​
  • ​​​
使用OpenAPI响应事件​
以JAVA语言接口为例,您可以参考如下顺序调用OpenAPI接口,查询、响应云服务器事件。​
说明​
  • 本节通过SDK调用相关接口,请在您的项目中导入SDK,操作详情可查看SDK概述。​
  • 若您不想在项目中引入SDK,可自行构造HTTP/HTTPS请求,操作详情可查看调用方法。​
  • 高性能计算集群内的GPU型实例事件不支持使用OpenAPI响应事件。​
  1. 调用DescribeSystemEvents查询云服务器实例触发的事件信息。​
  • 请求示例:​
  • ​
    public void queryInstanceEvents(){​
    //设置您的ak​
    String ak = "Your AK";​
    //设置您的sk​
    String sk = "Your SK";​
    //设置您要访问的地域,本示例为北京地域​
    String region = "cn-beijing";​
    ​
    //初始化apiclient​
    ApiClient apiClient = new ApiClient()​
    .setCredentials(Credentials.getCredentials(ak, sk))​
    .setRegion(region);​
    ​
    EcsApi ecsApi = new EcsApi(apiClient);​
    ​
    DescribeSystemEventsRequest describeSystemEventsRequest = new DescribeSystemEventsRequest();​
    ​
    // 指定待查询的实例ID​
    describeSystemEventsRequest.setResourceIds(Arrays.asList("<A实例ID>","<B实例ID>","<C实例ID>"));​
    // 筛选生成事件的起始时间​
    describeSystemEventsRequest.setCreatedAtStart("2023-05-20T01:29:38+08:00");​
    // 筛选生成事件的结束时间​
    describeSystemEventsRequest.setCreatedAtEnd("2023-05-25T18:29:38+08:00");​
    ​
    try {​
    DescribeSystemEventsResponse describeSystemEventsResponse = ecsApi.describeSystemEvents(describeSystemEventsRequest);​
    System.out.println(describeSystemEventsResponse);​
    } catch (ApiException e) { ​
    System.out.println(e.getResponseBody());​
    }​
    ​
    }​
    ​
  • 返回示例:​
  • ​
    class DescribeSystemEventsResponse {​
    nextToken:​
    systemEvents: [class SystemEventForDescribeSystemEventsOutput { ​
    createdAt: 2023-05-25T14:15:21+08:00​
    id: e-ycfroor651gh9zxxx​
    operatedEndAt: 2023-05-29T11:58:30+08:00​
    operatedStartAt: 2023-05-28T23:58:30+08:00​
    resourceId: <A实例ID>​
    status: Inquiring​
    type: InfrastructureUpgrade_Redeploy​
    updatedAt: 2023-05-26T11:58:30+08:00​
    }, class SystemEventForDescribeSystemEventsOutput {​
    createdAt: 2023-05-24T10:27:02+08:00​
    id: e-ycfoo7134kgsnzdvxxx​
    operatedEndAt:​
    operatedStartAt:​
    resourceId: <B实例ID>​
    status: Succeeded​
    type: CreateInstance​
    updatedAt: 2023-05-24T10:27:12+08:00​
    }, class SystemEventForDescribeSystemEventsOutput {​
    createdAt: 2023-05-23T17:44:17+08:00​
    id: e-ycfmuzgy5im0xxxx​
    operatedEndAt:​
    operatedStartAt:​
    resourceId: <C实例ID>​
    status: Succeeded​
    type: RunInstance​
    updatedAt: 2023-05-23T17:44:20+08:00​
    }]​
    }​
    ​
  1. 调用DescribeEventTypes接口,查询实例触发的所有事件是否需要响应。​
  • 请求示例:​
  • ​
    public void queryEventType(){​
    //设置您的ak​
    String ak = "Your AK";​
    //设置您的sk​
    String sk = "Your SK";​
    //设置您要访问的地域,本示例为北京地域​
    String region = "cn-beijing";​
    ​
    //初始化apiclient​
    ApiClient apiClient = new ApiClient()​
    .setCredentials(Credentials.getCredentials(ak, sk))​
    .setRegion(region);​
    ​
    EcsApi ecsApi = new EcsApi(apiClient);​
    ​
    DescribeEventTypesRequest describeEventTypesRequest = new DescribeEventTypesRequest();​
    // 指定待查询的事件类型​
    describeEventTypesRequest.setTypes(Arrays.asList("InfrastructureUpgrade_Redeploy","CreateInstance","RunInstance"));​
    ​
    // 筛选需要响应的事件​
    describeEventTypesRequest.setResponseRequired(true);​
    ​
    try {​
    DescribeEventTypesResponse describeEventTypesResponse = ecsApi.describeEventTypes(describeEventTypesRequest);​
    System.out.println(describeEventTypesResponse);​
    } catch (ApiException e) {​
    System.out.println(e.getResponseBody());​
    }​
    ​
    }​
    ​
  • 返回示例:​
本实践中,实例A触发的InfrastructureUpgrade.Redeploy(因基础设施升级实例重新部署)事件需要响应。​
  • ​
    class DescribeEventTypesResponse {​
    eventTypes: [class EventTypeForDescribeEventTypesOutput {​
    kind: PlannedOperations​
    responseRequired: true​
    status: [Inquiring, Executing, Succeeded, Rejected, Canceled]​
    title: 因基础设施升级实例重新部署​
    type: InfrastructureUpgrade_Redeploy​
    }]​
    nextToken:​
    }​
    ​
  1. 调用UpdateSystemEvents接口,响应InfrastructureUpgrade.Redeploy(因基础设施升级实例重新部署)事件,授权平台进行重新部署实例,排除故障。​
说明​
  • 仅InfrastructureUpgrade.Redeploy(因基础设施升级实例重新部署)事件授权时,支持使用OperatedStartAt、OperatedEndAt参数调整运维时间窗。​
  • OperatedStartAt、 OperatedEndAt 参数仅支持传入如下时间段:​
  • 事件发生时间 ~ 事件发生时间+12h​
  • 事件发生时间+12h ~ 事件发生时间+24h​
  • 事件发生时间+24h ~ 事件发生时间+36h​
  • 事件发生时间+36h ~ 事件发生时间+48h​
  • 事件发生时间+48h ~ 事件发生时间+60h​
  • 事件发生时间+60h ~ 事件发生时间+72h​
  • 请求示例:​
  • ​
    public void updateEvents(){​
    //设置您的ak​
    String ak = "Your AK";​
    //设置您的sk​
    String sk = "Your SK";​
    //设置您要访问的地域,本示例为北京地域​
    String region = "cn-beijing";​
    ​
    //初始化apiclient​
    ApiClient apiClient = new ApiClient()​
    .setCredentials(Credentials.getCredentials(ak, sk))​
    .setRegion(region);​
    ​
    EcsApi ecsApi = new EcsApi(apiClient);​
    ​
    UpdateSystemEventsRequest updateSystemEventsRequest = new UpdateSystemEventsRequest();​
    // 传入需要响应的事件ID​
    updateSystemEventsRequest.setEventIds(Arrays.asList("e-ycfu1fit1f8hcczyxxx"));​
    // 响应事件​
    updateSystemEventsRequest.setStatus("Executing");​
    // 指定重新部署实例时间窗​
    updateSystemEventsRequest.setOperatedStartAt("2023-05-28T23:58:30+08:00");​
    updateSystemEventsRequest.setOperatedEndAt("2023-05-29T11:58:30+08:00");​
    ​
    try {​
    UpdateSystemEventsResponse updateSystemEventsResponse = ecsApi.updateSystemEvents(updateSystemEventsRequest);​
    System.out.println(updateSystemEventsResponse);​
    } catch (ApiException e) {​
    System.out.println(e.getResponseBody());​
    }​
    ​
    }​
    ​
  • 返回示例:​
  • ​
    class UpdateSystemEventsResponse {​
    operationDetails: [class OperationDetailForUpdateSystemEventsOutput {​
    error: null​
    eventId: e-ycfu1fit1f8hcczxxx​
    }]​
    }​
    ​
  1. 调用DescribeSystemEvents接口,传入已响应的事件ID,查询事件当前状态等信息。​
  • 请求示例:​
  • ​
    public void queryInstanceEvents(){​
    //设置您的ak​
    String ak = "Your AK";​
    //设置您的sk​
    String sk = "Your SK";​
    //设置您要访问的地域,本示例为北京地域​
    String region = "cn-beijing";​
    ​
    //初始化apiclient​
    ApiClient apiClient = new ApiClient()​
    .setCredentials(Credentials.getCredentials(ak, sk))​
    .setRegion(region);​
    ​
    EcsApi ecsApi = new EcsApi(apiClient);​
    ​
    DescribeSystemEventsRequest describeSystemEventsRequest = new DescribeSystemEventsRequest();​
    // 指定待查询事件ID​
    describeSystemEventsRequest.setEventIds(Arrays.asList("e-ycfu1fit1f8hcczyxxx"));​
    ​
    try {​
    DescribeSystemEventsResponse describeSystemEventsResponse = ecsApi.describeSystemEvents(describeSystemEventsRequest);​
    System.out.println(describeSystemEventsResponse);​
    } catch (ApiException e) { ​
    System.out.println(e.getResponseBody());​
    }​
    ​
    }​
    ​
  • 返回示例:​
  • 事件处于执行中状态示例如下:​
  • ​
    class DescribeSystemEventsResponse {​
    nextToken: ​
    systemEvents: [class SystemEventForDescribeSystemEventsOutput {​
    createdAt: 2023-05-26T11:58:30+08:00​
    id: e-ycfu1fit1f8hcczyxxx​
    operatedEndAt: 2023-05-29T11:58:30+08:00​
    operatedStartAt: 2023-05-28T23:58:30+08:00​
    resourceId: <A实例ID>​
    status: Executing​
    type: InfrastructureUpgrade_Redeploy​
    updatedAt: 2023-05-26T14:19:19+08:00​
    }]​
    }​
    ​
  • 事件执行成功示例如下:​
  • ​
    class DescribeSystemEventsResponse {​
    nextToken: ​
    systemEvents: [class SystemEventForDescribeSystemEventsOutput {​
    createdAt: 2023-05-26T11:58:30+08:00​
    id: e-ycfu1fit1f8hcczyxxx​
    operatedEndAt: 2023-05-29T11:58:30+08:00​
    operatedStartAt: 2023-05-28T23:58:30+08:00​
    resourceId: <A实例ID>​
    status: Succeeded​
    type: InfrastructureUpgrade_Redeploy​
    updatedAt: 2023-05-28T23:58:30+08:00​
    }]​
    }​
    ​
​
最近更新时间:2026.01.28 11:20:48
这个页面对您有帮助吗?
有用
有用
无用
无用