

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# AWS Fault Injection Service 实验 failures/status 检查
<a name="test-failures"></a>

AWS Resilience Hub 允许您跟踪已开始的实验的状态。有关更多信息，请参阅[查看评估中推荐的 AWS FIS 实验](view-fis-experiment.md#view-recommended-fis-experiments)步骤。

**Topics**
+ [

# 使用 S AWS ystems Manager 分析 AWS FIS 实验执行情况
](test-failures-ssm.md)
+ [

# AWS FIS 测试在你的亚马逊 Elastic Kubernetes Service 集群中运行的 Kubernetes 容器时实验失败
](test-failures-eks.md)

# 使用 S AWS ystems Manager 分析 AWS FIS 实验执行情况
<a name="test-failures-ssm"></a>

运行 AWS FIS 实验后，您可以在 S AWS ystems Manager 中查看执行细节。

1. 前往 **CloudTrail**> **事件历史记录**。

1. 使用实验 ID 按**用户名**筛选事件。

1. 查看条 StartAutomationExecution 目。**请求 ID** 是 SSM 自动化 ID。

1.  前往 **AWS Systems Manager **> **自动化**。

1. 使用 SSM 自动化 ID 按**执行 ID** 筛选并查看自动化详细信息。

   您可以使用任何 Systems Manager 自动化来分析执行情况。有关更多信息，请参阅 [AWS Systems Manager Automation](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-automation.html) 用户指南。执行输入参数显示在**执行详细信息**的 “**输入参数**” 部分，包括 AWS FIS 实验中未出现的可选参数。

   通过深入了解执行步骤中的具体步骤，可以找到有关步骤状态和其他步骤详情的信息。

**常见失败情况**

以下是在执行评估报告时遇到的常见失败情况：
+  Test/SOP 实验执行前未部署警报模板。这会导致在自动化步骤中出现错误消息。
  + **失败消息：** `The following parameters were not found: [/ResilienceHub/Alarm/3dee49a1-9877-452a-bb0c-a958479a8ef2/nat-gw-alarm-bytes-out-to-source-2020-09-21_nat-02ad9bc4fbd4e6135]. Make sure all the SSM parameters in automation document are created in SSM Parameter Store.`
  + **补救措施：**在重新运行错误注入实验之前，请确保呈现相关警报并部署生成的模板。
+ 执行角色缺少权限。如果提供的执行角色缺少权限并出现在步骤详情中，则会出现此错误消息。
  + **失败消息：** `An error occurred (Unauthorized Operation) when calling the DescribeInstanceStatus operation: You are not authorized to perform this operation. Please Refer to Automation Service Troubleshooting Guide for more diagnosis details`。
  + **补救措施**：验证您提供的执行角色是否正确。如果已完成此操作，请添加所需的权限并重新运行评估。
+ 执行成功但没有得到预期的结果。这是由于参数不正确或内部自动化问题造成。
  + **失败消息：**执行成功，因此未显示任何错误消息。
  + **补救：**在检查预期输入和输出的各个步骤之前，请检查输入参数并查看已执行的步骤，如分析 AWS FIS 实验执行中所述。

# AWS FIS 测试在你的亚马逊 Elastic Kubernetes Service 集群中运行的 Kubernetes 容器时实验失败
<a name="test-failures-eks"></a>

以下是在对 Amazon EKS 集群中运行的 Kubernetes 容器组（pod）进行测试时遇到的常见 Amazon Elastic Kubernetes Service（Amazon EKS）失败情况：
+  AWS FIS 实验或 Kubernetes 服务账号的 IAM 角色配置不正确。
  + **失败消息：**
    + `Error resolving targets. Kubernetes API returned ApiException with error code 401`. 
    + `Error resolving targets. Kubernetes API returned ApiException with error code 403`. 
    + `Unable to inject AWS FIS Pod: Kubernetes API returned status code 403. Check Amazon EKS logs for more details`. 
  + **补救措施：**验证以下内容。
    + 确保您已按照[使用 AWS FIS`aws:eks:pod` 操作](https://docs.aws.amazon.com/fis/latest/userguide/eks-pod-actions.html)中的说明进行操作。
    + 确保您已经创建并配置了具有必要的 RBAC 权限和正确命名空间的 Kubernetes 服务帐户。
    + 确保您已将提供的 IAM 角色（参见测试 CloudFormation 堆栈的输出）映射到 Kubernetes 用户。
+ 无法启动 AWS FIS Pod：已达到失败边车容器的最大值。当内存不足以运行 s AWS FIS idecar 容器时，通常会发生这种情况。
  + **失败消息：** `Unable to heartbeat FIS Pod: Max failed sidecar containers reached`。
  + **补救措施：**避免此错误的一种选择是降低目标负载百分比，使其与可用内存或 CPU 保持一致。
+ 实验开始时警报断言失败。由于相关的警报没有数据点，因此出现此错误。
  + **失败消息：** `Assertion failed for the following alarms`。列出断言失败的所有警报。
  + **补救措施：**确保为警报正确安装了 Container Insights，并且警报未开启（处于 `ALARM` 状态）。