本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
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": "*" } ] }
说明
按照这些步骤对自动化进行配置:
-
AWSSupport-TroubleshootCloudWatchAgent在 Systems Manager 的 “文档” 下导航至。 -
选择 Execute automation(执行自动化)。
-
对于输入参数,请输入以下内容:
-
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
-
-
选择执行。
-
自动化启动。
-
文档将执行以下步骤:
-
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,检查所选实例与所需端点的可访问性。 -
输出结果:
输出自动化执行步骤的结果。
-
-
完成后,请查看 “输出” 部分,了解执行的详细结果。
参考
Systems Manager Automation