通过安全增强型 Linux (SELinux) 设置 CloudWatch 代理 - Amazon CloudWatch
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

通过安全增强型 Linux (SELinux) 设置 CloudWatch 代理

如果您的系统启用了安全增强型 Linux (SELinux),则必须应用适当的安全策略来确保 CloudWatch 代理在受限的域中运行。

先决条件

在为代理配置 SELinux 之前,请检查以下先决条件

完成与 SELinux 搭配使用 CloudWatch 代理的先决条件
  1. 安装以下 SELinux 策略开发包(如果还没有执行此操作):

    sudo yum update sudo yum install -y selinux-policy-devel policycoreutils-devel rpm-build git
  2. 运行以下命令,查看系统的 SELinux 状态:

    sestatus

    输出示例:

    SELinux status: enabled SELinuxfs mount: /sys/fs/selinux SELinux root directory: /etc/selinux Loaded policy name: targeted Current mode: permissive Mode from config file: permissive Policy MLS status: enabled Policy deny_unknown status: allowed Memory protection checking: actual (secure) Max kernel policy version: 33

    如果 SELinux 当前处于禁用状态,请执行以下操作:

    1. 输入以下命令以打开 SELinux 文件:

      sudo vi /etc/selinux/config
    2. SELINUX 参数设置为 permissiveenforcing。例如:

      SELINUX=enforcing
    3. 保存文件,并重新启动系统以应用更改。

      sudo reboot
  3. 确保 CloudWatch 代理正在作为 systemd 服务运行。这是在受限的 SELinux 域中使用它的必要条件。

    sudo systemctl status amazon-cloudwatch-agent

    如果代理配置正确,则输出应表明其状态为 active (running) 并在启动时为 enabled

为代理配置 SELinux

完成先决条件后,便可配置 SELinux。

为 CloudWatch 代理配置 SELinux
  1. 输入以下命令,克隆适用于 CloudWatch 代理的 SELinux 策略:

    git clone https://github.com/aws/amazon-cloudwatch-agent-selinux.git
  2. 导航到克隆的存储库,然后输入以下命令以更新脚本权限:

    cd amazon-cloudwatch-agent-selinux chmod +x amazon_cloudwatch_agent.sh
  3. 输入以下命令以使用 sudo 运行 SELinux 策略安装脚本。执行过程中,脚本会提示您输入 yn 以允许自动重启。此次重启可确保代理转换到正确的 SELinux 域。

    sudo ./amazon_cloudwatch_agent.sh
  4. 如果 CloudWatch 代理尚未重启,则请将其重启以确保转换到正确的 SELinux 域:

    sudo systemctl restart amazon-cloudwatch-agent
  5. 输入以下命令,验证 CloudWatch 代理是否正在受限的域中运行。

    ps -efZ | grep amazon-cloudwatch-agent

    如果代理被正确限制,则输出应指示 Selinux 限制的域,而不是 unconfined_service_t

    以下是代理被正确限制时的输出示例。

    system_u:system_r:confined_t:s0 root 1234 1 0 12:00 ? 00:00:10 /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent

配置 SELinux 后,可以继续配置代理以收集指标、日志和跟踪信息。有关更多信息,请参阅 手动创建或编辑 CloudWatch 代理配置文件