故障排除 SSM Agent - Amazon Systems Manager
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

故障排除 SSM Agent

如果您在托管节点上运行操作时遇到问题,那么 Amazon Systems Manager Agent (SSM Agent) 可能存在问题。使用以下信息可帮助您查看 SSM Agent日志文件和排查该代理的问题。

SSM Agent 已过时

如果有新功能添加至 Systems Manager 或者对现有功能进行了更新,则将发布 SSM Agent 的更新版本。不能使用代理的最新版本可能会阻止托管式节点使用各种 Systems Manager 功能和特性。因此,我们建议您自动完成确保机器上的 SSM Agent 为最新的过程。有关信息,请参阅 自动更新到 SSM Agent。订阅 “SSM Agent发行说明” 页面GitHub,获取有关SSM Agent更新的通知。

使用 SSM Agent 日志文件进行故障排除

SSM Agent在下列日志文件中记录信息。这些文件中的信息还可以帮助您排查问题。有关 SSM Agent 日志文件的更多信息(包括如何打开调试日志记录),请参阅 查看 SSM Agent 日志

注意

如果您选择使用 Windows 文件资源管理器查看这些日志,请务必在“文件夹选项”中允许查看隐藏文件和系统文件。

在 Windows 上
  • %PROGRAMDATA%\Amazon\SSM\Logs\amazon-ssm-agent.log

  • %PROGRAMDATA%\Amazon\SSM\Logs\errors.log

在 Linux 和 macOS 上
  • /var/log/amazon/ssm/amazon-ssm-agent.log

  • /var/log/amazon/ssm/errors.log

对于 Linux 托管式节点,您可以在写入以下目录的 messages 文件中查找更多信息:/var/log

有关使用代理日志进行故障排除的更多信息,请参阅《Amazon re:Post 知识中心》中的如何使用 SSM Agent 日志排查托管实例中的 SSM Agent 问题?

代理日志文件不会滚动 (Windows)

如果您在 seelog.xml 文件(在 Windows Server 托管式节点上)中指定基于日期的日志文件轮换,并且日志不轮换,请指定 fullname=true 参数。下面是指定了 fullname=true 参数的 seelog.xml 配置文件的示例。

<seelog type="adaptive" mininterval="2000000" maxinterval="100000000" critmsgcount="500" minlevel="debug"> <exceptions> <exception filepattern="test*" minlevel="error" /> </exceptions> <outputs formatid="fmtinfo"> <console formatid="fmtinfo" /> <rollingfile type="date" datepattern="200601021504" maxrolls="4" filename="C:\ProgramData\Amazon\SSM\Logs\amazon-ssm-agent.log" fullname=true /> <filter levels="error,critical" formatid="fmterror"> <rollingfile type="date" datepattern="200601021504" maxrolls="4" filename="C:\ProgramData\Amazon\SSM\Logs\errors.log" fullname=true /> </filter> </outputs> <formats> <format id="fmterror" format="%Date %Time %LEVEL [%FuncShort @ %File.%Line] %Msg%n" /> <format id="fmtdebug" format="%Date %Time %LEVEL [%FuncShort @ %File.%Line] %Msg%n" /> <format id="fmtinfo" format="%Date %Time %LEVEL %Msg%n" /> </formats> </seelog>

无法连接到 SSM 端点

SSM Agent 必须允许到以下端点的 HTTPS(端口 443)出站流量:

  • ssm.region.amazonaws.com

  • ssmmessages.region.amazonaws.com

  • ec2messages.region.amazonaws.com

注意

re gion 表示 Amazon Web Services 区域 支持的标识符 Amazon Systems Manager,例如us-east-2美国东部(俄亥俄州)地区的标识符。有关支持的 region 值的列表,请参阅《Amazon Web Services 一般参考》中的 Systems Manager service endpointsRegion 列。

SSM Agent即使你使用 Amazon 提供的 Amazon Machine Images (AMIs),例如亚马逊 Linux 2 或 Amazon Linux 2023,它也无法与前面的终端节点通信,也无法运行。您的网络配置必须具有开放的互联网访问权限,或者您必须配置自定义 Virtual Private Cloud (VPC) 端点。如果您不打算创建自定义 VPC 端点,请检查您的互联网网关或 NAT 网关。有关如何管理 VPC 端点的更多信息,请参阅 步骤 2:创建 VPC 端点

使用 ssm-cli 排查托管节点可用性的问题

从 SSM Agent 版本 3.1.501.0 开始,可以使用 ssm-cli 来确定托管式节点是否满足由 Systems Manager 管理的主要要求,并出现在 Fleet Manager 中的托管式节点列表。ssm-cli 是包含在 SSM Agent 安装中的独立命令行工具。包含用于收集所需信息的预配置命令,以帮助您诊断您已确认正在运行的 Amazon EC2 实例或非 EC2 计算机未包含在 Systems Manager 的托管式节点列表中的原因。这些命令会在您指定 get-diagnostics 选项时运行。

有关更多信息,请参阅 使用 ssm-cli 排除托管节点可用性的故障