

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

# `AWSSupport-TroubleshootCloudWatchAgent`
<a name="automation-aws-troubleshootcloudwatchagent"></a>

 **描述** 

该**AWSSupport-TroubleshootCloudWatchAgent**运行手册可自动对您的亚马逊弹性计算云 (Amazon EC2) 实例上的亚马逊 CloudWatch 代理进行故障排除。运行手册通过一系列基本和（可选）扩展检查来执行此故障排除。

基本检查包括以下内容：
+ 查看 AWS Identity and Access Management (IAM) 实例配置文件
+ 验证是否已将必要的亚马逊 CloudWatch 代理 IAM 权限附加到亚马逊 EC2 实例

仅当提供的 Amazon EC2 实例 ID 是 Systems Manager 托管实例时，才会执行扩展检查。这些扩展检查包括以下内容：
+ 检查实例上的 Amazon CloudWatch 代理的状态
+ 分析 Amazon A CloudWatch gent 的日志，了解常见问题和相关的故障排除步骤
+ 将相关日志和配置文件压缩到亚马逊 EC2 实例上，然后选择将其上传到您选择的亚马逊简单存储服务 (Amazon S3) 存储桶
+ 在实例和所需终端节点之间执行连接检查

**重要**  
当`RunVpcReachabilityAnalyzer`参数设置为时`true`，此运行手册将确定是否需要调用子运行手册。`AWSSupport-AnalyzeAWSEndpointReachabilityFromEC2`子运行手册使用 VPC Reachability Analyzer，它会产生相关费用。有关定价的更多信息，请参阅 [Amazon VPC 定价](https://aws.amazon.com/vpc/pricing/)文档。

**重要**  
本运行手册仅检查您的 IAM 实例配置文件角色是否具有必要的权限。如果您改为依赖`.aws/credentials`文件中定义的凭据，则该`verifyIamPermissions`步骤的结果可能不准确。

 **如何工作？** 

运行手册执行以下步骤：
+ **getInstanceProfile**：验证所提供的 Amazon EC2 实例是否附加了 IAM 实例配置文件。
+ **verifyIamPermissions**：检查与该实例关联的实例配置文件以确定是否应用了必要的 IAM 权限。
+ **getInstanceInformation**：检查实例是否有活动的 Systems Manager 代理，并获取该实例的操作系统类型。
+ **getAgentStatus**：检查实例上的 Amazon CloudWatch 代理的状态（扩展检查）。
+ **analyzelogs/ analyzeLogsWindows**：根据操作系统类型分析并输出亚马逊 CloudWatch 代理日志的结果。
+ **CollectLogs/ collectLogsWindows**：根据操作系统类型捆绑并输出相关的 Amazon A CloudWatch gent 疑难解答文件。
+ **checkEndpointReachability/checkEndpointReachabilityWindows**：根据操作系统类型检查实例是否可以到达所需的终端节点。
+ **analyzeAwsEndpointReachabilityFromEC2**：调用子自动化运行手册以检查所选实例与所需端点的可访问性（如果已启用）。

 [运行此自动化（控制台）](https://console.aws.amazon.com/systems-manager/automation/execute/AWSSupport-TroubleshootCloudWatchAgent) 

**文档类型**

自动化

**所有者**

Amazon

**平台**

/

**所需的 IAM 权限**

`AutomationAssumeRole` 参数需要执行以下操作才能成功使用运行手册。
+ ec2: DescribeInstances
+ 我是：GetInstanceProfile
+ 我是：GetRole
+ 我是：ListAttachedRolePolicies
+ 我是：ListRolePolicies
+ 我是：GetRolePolicy
+ 我是：GetPolicy
+ 我是：GetPolicyVersion
+ 我是：SimulatePrincipalPolicy
+ ssm：DescribeInstanceInformation
+ ssm：SendCommand
+ ssm：GetCommandInvocation
+ ssm：DescribeInstanceAssociationsStatus
+ ssm：StartAutomationExecution

策略示例：

```
{
        "Version": "2012-10-17",		 	 	 
        "Statement": [
            {
            "Effect": "Allow",
            "Action": [
                "ec2:DescribeInstances",
                "iam:GetInstanceProfile",
                "iam:GetRole",
                "iam:ListAttachedRolePolicies",
                "iam:ListRolePolicies",
                "iam:GetRolePolicy",
                "iam:GetPolicy",
                "iam:GetPolicyVersion",
                "iam:SimulatePrincipalPolicy",
                "ssm:DescribeInstanceInformation",
                "ssm:SendCommand",
                "ssm:GetCommandInvocation",
                "ssm:DescribeInstanceAssociationsStatus",
                "ssm:StartAutomationExecution"
            ],
            "Resource": "*"
            }
        ]
        }
```

 **说明** 

按照这些步骤对自动化进行配置：

1. [https://console.aws.amazon.com/systems-manager/documents/AWSSupport-TroubleshootCloudWatchAgent/description](https://console.aws.amazon.com/systems-manager/documents/AWSSupport-TroubleshootCloudWatchAgent/description)在 Systems Manager 的 “文档” 下导航至。

1. 选择 **Execute automation**（执行自动化）。

1. 对于输入参数，请输入以下内容：
   + **AutomationAssumeRole （可选）：**
     + 描述：（可选）允许 Systems Manager Automation 代表您执行操作的 IAM 角色的 ARN。如果未指定角色，Systems Manager Automation 将使用启动此运行手册的用户的权限。
     + 类型：`AWS::IAM::Role::Arn`
   + **InstanceId （必填）：**
     + 描述：（必填）您要对其进行亚马逊 CloudWatch 代理故障排除的 Amazon EC2 实例的 ID。
     + 类型：`AWS::EC2::Instance::Id`
     + 允许模式：`^i-[0-9a-f]{8,17}$`
   + **S3UploadBucket （可选）：**
     + 描述：（可选）用于上传收集的 Amazon A CloudWatch gent 日志的 Amazon S3 存储桶的名称。Amazon EC2 实例配置文件必须具有正确的权限才能将文件上传到此存储桶。这还要求目标 Amazon EC2 实例是 Systems Manager 托管实例。
     + 类型：`AWS::S3::Bucket::Name`
     + 允许模式：`^$|^[a-z0-9][a-z0-9.-]{1,61}[a-z0-9]$`
     + 默认值：`""`
   + **S3BucketOwnerAccountId （可选）：**
     + 描述：（可选）拥有您要上传亚马逊 CloudWatch 代理日志的 Amazon S3 存储桶的 AWS 账号。如果您不修改此参数，则运行手册将使用运行自动化的用户或角色的 AWS 账户 ID。
     + 类型：`String`
     + 允许模式：`^\\{\\{ global:ACCOUNT_ID \\}\\}$|^[0-9]{12}$`
     + 默认值：`{{ global:ACCOUNT_ID }}`
   + **检查EC2终端节点（可选）：**
     + 描述：（可选）指定您的代理配置`true`是否使用选项`append_dimensions`将 Amazon EC2 指标维度附加到代理收集的指标中。使用`append_dimensions`时，Amazon A CloudWatch gent 需要连接到 Amazon EC2 API 终端节点，因此将通过扩展检查执行额外的连接测试。
     + 类型：`String`
     + 允许的值：`[true, false]`
     + 默认值：`false`
   + **RunVpcReachabilityAnalyzer （可选）：**
     + 描述：（可选）如果网络问题是由扩展检查确定的，或者指定的`true`实例 ID 不是托管实例，则指定运行`AWSSupport-AnalyzeAWSEndpointReachabilityFromEC2`子自动化。
     + 类型：`Boolean`
     + 默认值：`false`
   + **RetainVpcReachabilityAnalysis （可选）：**
     + 描述：（可选）仅在`RunVpcReachabilityAnalyzer`是时才相关`true`。指定`true`保留由 VPC Reachability Analyzer 创建的网络洞察路径和相关分析。默认情况下，这些资源将在成功分析后删除。
     + 类型：`Boolean`
     + 默认值：`false`

1. 选择**执行**。

1. 自动化启动。

1. 文档将执行以下步骤：
   + **getInstanceProfile**:

     验证所提供的 Amazon EC2 实例是否附加了 IAM 实例配置文件。
   + **branchOnInstanceProfileStatus**:

     如果实例配置文件已附加到实例，则分支自动化以检查必要的实例配置文件权限。
   + **verifyIamPermissions**:

     检查与该实例关联的实例配置文件，以确定是否应用了必要的 IAM 权限。
   + **getInstanceInformation**:

     检查实例是否有活动的 Systems Manager 代理，并获取该实例的操作系统类型。
   + **branchOnManaged实例**：

     分支自动化以执行扩展检查实例是否处于托管状态。
   + **getAgentStatus**:

     检查实例上的 Amazon CloudWatch 代理的状态。
   + **branchOnInstanceOsType**:

     根据操作系统将自动化分支为运行特定的日志 collection/analysis 命令。
   + **analyze analyzeLogsWindows** Logs/:

     根据操作系统类型分析并输出 Amazon A CloudWatch gent 日志的结果。
   + **收集日志/ collectLogsWindows**:

     根据操作系统类型捆绑并输出相关的 Amazon A CloudWatch gent 疑难解答文件。
   + **checkEndpointReachability/checkEndpointReachabilityWindows**：

     根据操作系统类型检查实例是否可以到达所需的终端节点。
   + **branchOnRunVpcReachabilityAnalyzer**:

     如果启用并检测到网络问题，则将自动化分支到运行 VPC 可访问性分析。
   + **生成端点**：

     根据扩展检查失败和的值生成要检查的端点`CheckEC2Endpoint`。
   + **analyzeAwsEndpointReachabilityFromEC2**:

     调用自动化运行手册`AWSSupport-AnalyzeAWSEndpointReachabilityFromEC2`，检查所选实例与所需端点的可访问性。
   + **输出结果**：

     输出自动化执行步骤的结果。

1. 完成后，请查看 “**输出**” 部分，了解执行的详细结果。

**参考**

Systems Manager Automation
+ [运行此自动化（控制台）](https://console.aws.amazon.com/systems-manager/documents/AWSSupport-TroubleshootCloudWatchAgent/description)
+ [运行自动化](https://docs.aws.amazon.com//systems-manager/latest/userguide/automation-working-executing.html)
+ [设置自动化](https://docs.aws.amazon.com//systems-manager/latest/userguide/automation-setup.html)
+ [Support 自动化工作流程](https://aws.amazon.com/premiumsupport/technology/saw/)