本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
AWSSupport-TroubleshootCloudWatchAgent
描述
该AWSSupport-TroubleshootCloudWatchAgent运行手册可自动对您的亚马逊弹性计算云 (亚马逊 EC2) 实例上的亚马逊 CloudWatch 代理进行故障排除。该运行手册通过一系列基本和(可选)扩展检查来执行此故障排除。
基本检查包括以下内容:
检查 AWS Identity and Access Management (IAM) 实例配置文件
验证必要的 Amazon A CloudWatch gent IAM 权限是否已附加到 Amazon EC2 实例
仅当提供的 Amazon EC2 实例 ID 是系统管理器托管实例时,才会执行扩展检查。这些扩展检查包括以下内容:
检查实例上亚马逊 CloudWatch 代理的状态
分析亚马逊 CloudWatch 代理的日志,了解常见问题和相关的故障排除步骤
在 Amazon EC2 实例上压缩相关日志和配置文件,并有选择地将它们上传到您选择的亚马逊简单存储服务 (Amazon S3) 存储桶
在实例和所需终端节点之间执行连接检查
重要
当RunVpcReachabilityAnalyzer参数设置为时true,该运行手册将确定是否需要调用子运行手册。AWSSupport-AnalyzeAWSEndpointReachabilityFromEC2子运行手册使用 VPC 可访问性分析器,该分析器具有相关成本。有关定价的更多信息,请参阅 Amazon VPC 定价
重要
本运行手册仅检查您的 IAM 实例配置文件角色是否具有必要的权限。如果您改为依赖.aws/credentials文件中定义的证书,则该verifyIamPermissions步骤的结果可能不准确。
如何工作?
该运行手册执行以下步骤:
get InstanceProfile:验证所提供的 Amazon EC2 实例是否附加了 IAM 实例配置文件。
验证 IamPermissions:检查与实例关联的实例配置文件以确定是否应用了必要的 IAM 权限。
get InstanceInformation:检查该实例是否具有活动的 Systems Manager 代理,并获取该实例的操作系统类型。
get AgentStatus:检查实例上亚马逊 CloudWatch 代理的状态(扩展检查)。
analyzeLogs/analyzeLogsWindows:根据操作系统类型分析和输出亚马逊 CloudWatch 代理日志的调查结果。
collectLogs/collectLogsWindows:根据操作系统类型捆绑并输出相关的 Amazon A CloudWatch gent 故障排除文件。
checkEndpointReachability/checkEndpointReachabilityWindows:根据操作系统类型检查实例是否可以到达所需的终端节点。
analyze AwsEndpointReachabilityFromEC2:调用子自动化运行手册以检查所选实例与所需终端节点(如果启用)的可访问性。
文档类型
自动化
所有者
Amazon
平台
/
所需的 IAM 权限
AutomationAssumeRole 参数需要执行以下操作才能成功使用运行手册。
ec2: DescribeInstances
我是:GetInstanceProfile
我是:GetRole
我是:ListAttachedRolePolicies
我是:ListRolePolicies
我是:GetRolePolicy
我是:GetPolicy
我是:GetPolicyVersion
我是:SimulatePrincipalPolicy
短信:DescribeInstanceInformation
短信:SendCommand
短信:GetCommandInvocation
短信:DescribeInstanceAssociationsStatus
短信: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": "*" } ] }
说明
按照这些步骤对自动化进行配置:
-
导航到
AWSSupport-TroubleshootCloudWatchAgent“系统管理器” 下的 “文档”。 -
选择 Execute automation(执行自动化)。
-
对于输入参数,输入以下内容:
-
AutomationAssumeRole (可选):
描述:(可选)允许 Systems Manager Automation 代表您执行操作的 IAM 角色的 ARN。如果未指定角色,Systems Manager Automation 将使用启动此运行手册的用户的权限。
类型:
AWS::IAM::Role::Arn
-
InstanceId (必填):
描述:(必填)您要对亚马逊 CloudWatch 代理进行故障排除的亚马逊 EC2 实例的 ID。
类型:
AWS::EC2::Instance::Id允许图案:
^i-[0-9a-f]{8,17}$
-
S3UploadBucket (可选):
描述:(可选)用于上传收集的亚马逊 CloudWatch 代理日志的 Amazon S3 存储桶的名称。Amazon EC2 实例配置文件必须具有正确的权限才能将文件上传到此存储桶。这还要求目标 Amazon EC2 实例是系统管理器托管的实例。
类型:
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 }}
-
checkec2Endpoint(可选):
描述:(可选)指定您的代理配置
true是否使用该选项将 Amazon EC2 指标维度附加append_dimensions到代理收集的指标中。使用append_dimensions时,亚马逊 CloudWatch 代理需要连接到 Amazon EC2 API 终端节点,因此将通过扩展检查进行额外的连接测试。类型:
String允许的值:
[true, false]默认值:
false
-
RunVpcReachabilityAnalyzer (可选):
描述:(可选)如果网络问题由扩展检查确定,或者指定的
true实例 ID 不是托管实例,则指定运行AWSSupport-AnalyzeAWSEndpointReachabilityFromEC2子自动化。类型:
Boolean默认值:
false
-
RetainVpcReachabilityAnalysis (可选):
描述:(可选)仅在存在时
RunVpcReachabilityAnalyzer才相关true。指定true保留 VPC 可访问性分析器创建的网络洞察路径和相关分析。默认情况下,成功分析后会删除这些资源。类型:
Boolean默认值:
false
-
-
选择执行。
-
自动化启动。
-
文档将执行以下步骤:
-
得到 InstanceProfile:
验证所提供的 Amazon EC2 实例是否附加了 IAM 实例配置文件。
-
分支 OnInstanceProfileStatus:
分支自动化以检查是否将实例配置文件附加到实例,以检查所需的实例配置文件权限。
-
验证 IamPermissions:
检查与实例关联的实例配置文件以确定是否应用了必要的 IAM 权限。
-
得到 InstanceInformation:
检查该实例是否有活动的 Systems Manager 代理,并获取该实例的操作系统类型。
-
分支 OnManagedInstance:
分支自动化以执行扩展检查实例是否处于托管状态。
-
得到 AgentStatus:
检查实例上亚马逊 CloudWatch 代理的状态。
-
分支 OnInstanceOsType:
分支自动化以根据操作系统运行特定的日志 collection/analysis 命令。
-
analyzeLogs/analyzeLogsWindows:
根据操作系统类型分析和输出 Amazon CloudWatch 代理日志的调查结果。
-
collectLogs/collectLogsWindows:
根据操作系统类型捆绑并输出相关的 Amazon A CloudWatch gent 故障排除文件。
-
checkEndpointReachability/checkEndpointReachabilityWindows:
根据操作系统类型检查实例是否可以到达所需的终端节点。
-
分支 OnRunVpcReachabilityAnalyzer:
如果启用且检测到网络问题,则分支自动化以运行 VPC 可访问性分析。
-
生成终端节点:
生成一个端点以检查扩展检查失败情况和的值
CheckEC2Endpoint。 -
分析 AwsEndpointReachabilityFromEC2:
调用自动化运行手册,检查
AWSSupport-AnalyzeAWSEndpointReachabilityFromEC2所选实例与所需端点的可访问性。 -
输出结果:
输出自动化执行步骤的结果。
-
-
完成后,请查看 “输出” 部分,了解详细的执行结果。
参考
Systems Manager Automation