将 SSM 代理日志发送到 CloudWatch Logs - Amazon Web Services Systems Manager
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

将 SSM 代理日志发送到 CloudWatch Logs

Amazon Web Services Systems Manager代理 (SSM 代理) 是在 EC2 实例和混合实例(本地实例和虚拟机)上运行的 Amazon 软件,针对进行了配置。SSM 代理在云中处理来自 Systems Manager 服务的请求并按照请求中指定的方式配置计算机。有关 SSM 代理的更多信息,请参阅使用 SSM 代理

此外,按照以下步骤,您可以配置 SSM 代理以将日志数据发送到 Amazon CloudWatch Logs。

开始前的准备工作

在 CloudWatch Logs 中创建一个日志组。有关更多信息,请参阅 。在 CloudWatch Logs 中创建一个日志组中的Amazon CloudWatch Logs 用户指南

配置 SSM 代理以将日志发送到 CloudWatch Logs

  1. 登录实例并找到以下文件:

    Linux

    在大多数 Linux 实例类型上:/etc/amazon/ssm/seelog.xml.template

    在 Ubuntu Service 上:/snap/amazon-ssm-agent/current/seelog.xml.template

    macOS

    /opt/aws/ssm/seelog.xml.template

    Windows

    %ProgramFiles%\Amazon\SSM\seelog.xml.template

  2. 将文件名从seelog.xml.templateseelog.xml

    注意

    在 Ubuntu 服务器 20.04、18.04 和 16.04 LTS 上,文件seelog.xml必须在目录中创建/etc/amazon/ssm/。您可以运行以下命令以创建此目录和文件。

    sudo mkdir -p /etc/amazon/ssm
    sudo cp -pr /snap/amazon-ssm-agent/current/* /etc/amazon/ssm
    sudo cp -p /etc/amazon/ssm/seelog.xml.template /etc/amazon/ssm/seelog.xml
  3. 用文本编辑器打开 seelog.xml 文件并找到以下部分。

    Linux and macOS
    <outputs formatid="fmtinfo"> <console formatid="fmtinfo"/> <rollingfile type="size" filename="/var/log/amazon/ssm/amazon-ssm-agent.log" maxsize="30000000" maxrolls="5"/> <filter levels="error,critical" formatid="fmterror"> <rollingfile type="size" filename="/var/log/amazon/ssm/errors.log" maxsize="10000000" maxrolls="5"/> </filter> </outputs>
    Windows
    <outputs formatid="fmtinfo"> <console formatid="fmtinfo"/> <rollingfile type="size" maxrolls="5" maxsize="30000000" filename="{{LOCALAPPDATA}}\Amazon\SSM\Logs\amazon-ssm-agent.log"/> <filter formatid="fmterror" levels="error,critical"> <rollingfile type="size" maxrolls="5" maxsize="10000000" filename="{{LOCALAPPDATA}}\Amazon\SSM\Logs\errors.log"/> </filter> </outputs>
  4. 编辑文件,并在结束 </filter> 标签后添加 custom name 元素。在以下示例中,指定的 custom name 名称为 cloudwatch_receiver

    Linux and macOS
    <outputs formatid="fmtinfo"> <console formatid="fmtinfo"/> <rollingfile type="size" filename="/var/log/amazon/ssm/amazon-ssm-agent.log" maxsize="30000000" maxrolls="5"/> <filter levels="error,critical" formatid="fmterror"> <rollingfile type="size" filename="/var/log/amazon/ssm/errors.log" maxsize="10000000" maxrolls="5"/> </filter> <custom name="cloudwatch_receiver" formatid="fmtdebug" data-log-group="your-CloudWatch-log-group-name"/> </outputs>
    Windows
    <outputs formatid="fmtinfo"> <console formatid="fmtinfo"/> <rollingfile type="size" maxrolls="5" maxsize="30000000" filename="{{LOCALAPPDATA}}\Amazon\SSM\Logs\amazon-ssm-agent.log"/> <filter formatid="fmterror" levels="error,critical"> <rollingfile type="size" maxrolls="5" maxsize="10000000" filename="{{LOCALAPPDATA}}\Amazon\SSM\Logs\errors.log"/> </filter> <custom name="cloudwatch_receiver" formatid="fmtdebug" data-log-group="your-CloudWatch-log-group-name"/> </outputs>
  5. 保存您的更改,然后重新启动 SSM 代理或实例。

  6. 通过以下网址打开 CloudWatch 控制台:https://console.aws.amazon.com/cloudwatch/

  7. 在导航窗格中,选择 Log groups (日志组),然后选择日志组的名称。

    提示

    SSM 代理日志文件数据的日志流按实例 ID 进行组织。