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

将 SSM Agent 日志发送到 CloudWatch Logs

Amazon Systems Manager Agent (SSM Agent) 是在为 Systems Manager 配置的 EC2 实例、边缘设备以及本地服务器和虚拟机上运行的 Amazon 软件。SSM Agent 可在云中处理来自 Systems Manager 服务的请求,并按请求中指定的方式配置计算机。有关 SSM Agent 的更多信息,请参阅 使用 SSM Agent

此外,使用以下步骤,您可以配置 SSM Agent 将日志数据发送到 Amazon CloudWatch Logs。

开始前的准备工作

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

配置 SSM Agent 将日志发送到 CloudWatch

  1. 登录节点并找到以下文件:

    Linux

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

    在 Ubuntu Server 20.10 STR & 20.04、18.04 和 16.04 LTS 上:/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.template 更改为 seelog.xml

    注意

    在 Ubuntu Server 20.10 STR 和 20.04、18.04 及 16.04 LTS 上,必须在目录 /etc/amazon/ssm/ 中创建文件 seelog.xml。可以通过运行以下命令来创建此目录和文件。

    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 Agent 或节点。

  6. 访问 https://console.aws.amazon.com/cloudwatch/,打开 CloudWatch 控制台。

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

    提示

    SSM Agent 日志文件数据的日志流按节点 ID 进行整理。