View a markdown version of this page

AWSSupport-TroubleshootCloudWatchAgent - AWS Systems Manager 自动化运行手册参考

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

AWSSupport-TroubleshootCloudWatchAgent

描述

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 定价文档。

重要

本运行手册仅检查您的 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:调用子自动化运行手册以检查所选实例与所需端点的可访问性(如果已启用)。

运行此自动化(控制台)

文档类型

自动化

所有者

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. AWSSupport-TroubleshootCloudWatchAgent在 Systems Manager 的 “文档” 下导航至。

  2. 选择 Execute automation(执行自动化)。

  3. 对于输入参数,请输入以下内容:

    • 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

  4. 选择执行

  5. 自动化启动。

  6. 文档将执行以下步骤:

    • 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,检查所选实例与所需端点的可访问性。

    • 输出结果

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

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

参考

Systems Manager Automation