8.2. 使用 logging 系统角色


作为系统管理员,您可以使用 logging 系统角色将 Red Hat Enterprise Linux 主机配置为日志服务器,以从多个客户端系统收集日志。

8.2.1. 使用 logging RHEL 系统角色过滤本地日志消息

您可以使用 logging RHEL 系统角色的基于属性的过滤器根据各种条件过滤本地日志消息。例如,您可以实现:

  • 日志清晰:在高流量环境中,日志可能会快速增长。专注于特定消息(如错误)有助于更快地识别问题。
  • 优化的系统性能: Excessive 日志量通常与系统性能下降连接。仅针对重要事件选择的日志可以防止资源耗尽,这样可让您的系统更有效地运行。
  • 增强安全性:通过安全消息进行高效过滤,如系统错误和失败的登录,有助于仅捕获相关日志。这对于检测漏洞和符合合规性标准非常重要。

先决条件

流程

  1. 创建一个包含以下内容的 playbook 文件,如 ~/playbook.yml

    ---
    - name: Deploy the logging solution
      hosts: managed-node-01.example.com
      tasks:
        - name: Filter logs based on a specific value they contain
          ansible.builtin.include_role:
            name: rhel-system-roles.logging
          vars:
            logging_inputs:
              - name: files_input
                type: basics
            logging_outputs:
              - name: files_output0
                type: files
                property: msg
                property_op: contains
                property_value: error
                path: /var/log/errors.log
              - name: files_output1
                type: files
                property: msg
                property_op: "!contains"
                property_value: error
                path: /var/log/others.log
            logging_flows:
              - name: flow0
                inputs: [files_input]
                outputs: [files_output0, files_output1]

    示例 playbook 中指定的设置包括以下内容:

    logging_inputs
    定义日志记录输入字典的列表。type: basics 选项涵盖了 systemd 日志或 Unix 套接字的输入。
    logging_outputs
    定义日志输出字典的列表。type: files 选项支持将日志存储到本地文件,通常存储在 /var/log/ 目录中。property: msg; property: contains; 和 property_value: error 选项指定包含错误字符串的所有日志都存储在 /var/log/errors.log 文件中。property: msg; property: !contains; 和 property_value: error 选项指定所有其他日志都放在 /var/log/others.log 文件中。您可以将 错误 值替换为您要过滤的字符串。
    logging_flows
    定义日志记录流字典列表,以指定 logging_inputslogging_outputs 之间的关系。inputs: [files_input] 选项指定从其处理日志的输入列表。输出: [files_output0, files_output1] 选项指定日志发送到的输出列表。

    有关 playbook 中使用的所有变量的详情,请查看控制节点上的 /usr/share/ansible/roles/rhel-system-roles.logging/README.md 文件。

  2. 验证 playbook 语法:

    $ ansible-playbook --syntax-check ~/playbook.yml

    请注意,这个命令只验证语法,不会防止错误但有效的配置。

  3. 运行 playbook:

    $ ansible-playbook ~/playbook.yml

验证

  1. 在受管节点上,测试 /etc/rsyslog.conf 文件的语法:

    # rsyslogd -N 1
    rsyslogd: version 8.1911.0-6.el8, config validation run...
    rsyslogd: End of config validation run. Bye.
  2. 在受管节点上,验证系统是否向日志发送包含 error 字符串的信息:

    1. 发送测试信息:

      # logger error
    2. 查看 /var/log/errors.log 日志,例如:

      # cat /var/log/errors.log
      Aug  5 13:48:31 hostname root[6778]: error

      其中 hostname 是客户端系统的主机名。请注意,该日志包含输入 logger 命令的用户的用户名,本例中为 root

其他资源

  • /usr/share/ansible/roles/rhel-system-roles.logging/README.md 文件
  • /usr/share/doc/rhel-system-roles/logging/ 目录
  • 系统中 rsyslog.conf (5)syslog (3) man page

8.2.2. 使用 logging RHEL 系统角色应用远程日志解决方案

您可以使用 logging RHEL 系统角色配置远程日志记录解决方案,其中一个或多个客户端从 systemd-journal 服务获取日志并将其转发到远程服务器。服务器从 remote_rsyslogremote_files 配置接收远程输入,并将日志输出到远程主机名命名的目录中的本地文件。

因此,您可以涵盖您需要的用例:

  • 集中式日志管理:从单一存储点收集、访问和管理多台计算机的日志消息,简化了日常监控和故障排除任务。此外,此用例还减少了登录各个计算机来检查日志消息的需要。
  • 增强安全性:在一个中央位置存储日志消息可增加他们处于安全且篡改的环境中的几率。这样的环境可以更轻松地检测和响应安全事件,并更方便地满足审计要求。
  • 提高了日志分析效率:协调来自多个系统的日志消息对于跨多个机器或服务的复杂问题的快速故障排除非常重要。这样,您可以快速分析和交叉引用来自不同来源的事件。

先决条件

流程

  1. 创建一个包含以下内容的 playbook 文件,如 ~/playbook.yml

    ---
    - name: Deploy the logging solution
      hosts: managed-node-01.example.com
      tasks:
        - name: Configure the server to receive remote input
          ansible.builtin.include_role:
            name: rhel-system-roles.logging
          vars:
            logging_inputs:
              - name: remote_udp_input
                type: remote
                udp_ports: [ 601 ]
              - name: remote_tcp_input
                type: remote
                tcp_ports: [ 601 ]
            logging_outputs:
              - name: remote_files_output
                type: remote_files
            logging_flows:
              - name: flow_0
                inputs: [remote_udp_input, remote_tcp_input]
                outputs: [remote_files_output]
    
    - name: Deploy the logging solution
      hosts: managed-node-02.example.com
      tasks:
        - name: Configure the server to output the logs to local files in directories named by remote host names
          ansible.builtin.include_role:
            name: rhel-system-roles.logging
          vars:
            logging_inputs:
              - name: basic_input
                type: basics
            logging_outputs:
              - name: forward_output0
                type: forwards
                severity: info
                target: <host1.example.com>
                udp_port: 601
              - name: forward_output1
                type: forwards
                facility: mail
                target: <host1.example.com>
                tcp_port: 601
            logging_flows:
              - name: flows0
                inputs: [basic_input]
                outputs: [forward_output0, forward_output1]
    
    [basic_input]
    [forward_output0, forward_output1]

    示例 playbook 的第一个 play 中指定的设置包括:

    logging_inputs
    定义日志记录输入字典的列表。type: remote 选项涵盖通过网络的其他日志记录系统的远程输入。udp_ports: [ 601 ] 选项定义要监控的 UDP 端口号的列表。tcp_ports: [ 601 ] 选项定义要监控的 TCP 端口号列表。如果设置了 udp_portstcp_ports,则使用 udp_ports,并丢弃 tcp_ports
    logging_outputs
    定义日志输出字典的列表。type: remote_files 选项使输出将日志存储到每个远程主机和程序名称,其源自日志。
    logging_flows
    定义日志记录流字典列表,以指定 logging_inputslogging_outputs 之间的关系。inputs: [remote_udp_input, remote_tcp_input] 选项指定从其处理日志的输入列表。outputs: [remote_files_output] 选项指定日志发送到的输出列表。

    示例 playbook 的第二个 play 中指定的设置包括:

    logging_inputs
    定义日志记录输入字典的列表。type: basics 选项涵盖了 systemd 日志或 Unix 套接字的输入。
    logging_outputs
    定义日志输出字典的列表。type: forwards 选项支持通过网络向远程日志服务器发送日志。severity: info 选项指的是有关信息重要性的日志消息。facility: mail 选项指的是正在生成日志消息的系统程序类型。target: <host1.example.com > 选项指定远程日志记录服务器的主机名。udp_port: 601/tcp_port: 601 选项定义远程日志记录服务器侦听的 UDP/TCP 端口。
    logging_flows
    定义日志记录流字典列表,以指定 logging_inputslogging_outputs 之间的关系。inputs: [basic_input] 选项指定从其处理日志的输入列表。输出: [forward_output0, forward_output1] 选项指定日志发送到的输出列表。

    有关 playbook 中使用的所有变量的详情,请查看控制节点上的 /usr/share/ansible/roles/rhel-system-roles.logging/README.md 文件。

  2. 验证 playbook 语法:

    $ ansible-playbook --syntax-check ~/playbook.yml

    请注意,这个命令只验证语法,不会防止错误但有效的配置。

  3. 运行 playbook:

    $ ansible-playbook ~/playbook.yml

验证

  1. 在客户端和服务器系统上测试 /etc/rsyslog.conf 文件的语法:

    # rsyslogd -N 1
    rsyslogd: version 8.1911.0-6.el8, config validation run (level 1), master config /etc/rsyslog.conf
    rsyslogd: End of config validation run. Bye.
  2. 验证客户端系统向服务器发送信息:

    1. 在客户端系统中发送测试信息:

      # logger test
    2. 在服务器系统上,查看 /var/log/<host2.example.com>/messages 日志,例如:

      # cat /var/log/<host2.example.com>/messages
      Aug  5 13:48:31 <host2.example.com> root[6778]: test

      其中 <host2.example.com> 是客户端系统的主机名。请注意,该日志包含输入 logger 命令的用户的用户名,本例中为 root

其他资源

  • /usr/share/ansible/roles/rhel-system-roles.logging/README.md 文件
  • /usr/share/doc/rhel-system-roles/logging/ 目录
  • rsyslog.conf (5)syslog (3) 手册页

8.2.3. 使用带有 TLS 的 logging RHEL 系统角色

传输层安全性(TLS)是一种加密协议,旨在允许计算机网络上的安全通信。

您可以使用 logging RHEL 系统角色配置日志消息的安全传输,其中一个或多个客户端从 systemd-journal 服务获取日志,并在使用 TLS 时将它们传送到远程服务器。

通常,在远程日志记录解决方案中传输日志的 TLS 在不可信或公共网络(如互联网)发送敏感数据时使用。另外,通过在 TLS 中使用证书,您可以确保客户端将日志转发到正确的可信服务器。这可以防止诸如"man-in-the-middle"的攻击。

8.2.3.1. 配置带有 TLS 的客户端日志

您可以使用 logging RHEL 系统角色在 RHEL 客户端上配置日志,并使用 TLS 加密将日志传送到远程日志系统。

此流程创建私钥和证书。接下来,它会在 Ansible 清单中 clients 组的所有主机上配置 TLS。TLS 对信息的传输进行加密,确保日志在网络安全传输。

注意

您不必在 playbook 中调用 certificate RHEL 系统角色来创建证书。当设置了 logging _certificates 变量时,logging RHEL 系统角色会自动调用它。

要让 CA 能够为创建的证书签名,受管节点必须在 IdM 域中注册。

先决条件

  • 您已准备好控制节点和受管节点
  • 以可在受管主机上运行 playbook 的用户登录到控制节点。
  • 用于连接到受管节点的帐户具有 sudo 权限。
  • 受管节点已在 IdM 域中注册。

流程

  1. 创建一个包含以下内容的 playbook 文件,如 ~/playbook.yml

    ---
    - name: Configure remote logging solution using TLS for secure transfer of logs
      hosts: managed-node-01.example.com
      tasks:
        - name: Deploying files input and forwards output with certs
          ansible.builtin.include_role:
            name: rhel-system-roles.logging
          vars:
            logging_certificates:
              - name: logging_cert
                dns: ['localhost', 'www.example.com']
                ca: ipa
            logging_pki_files:
              - ca_cert: /local/path/to/ca_cert.pem
                cert: /local/path/to/logging_cert.pem
                private_key: /local/path/to/logging_cert.pem
            logging_inputs:
              - name: input_name
                type: files
                input_log_path: /var/log/containers/*.log
            logging_outputs:
              - name: output_name
                type: forwards
                target: your_target_host
                tcp_port: 514
                tls: true
                pki_authmode: x509/name
                permitted_server: 'server.example.com'
            logging_flows:
              - name: flow_name
                inputs: [input_name]
                outputs: [output_name]

    示例 playbook 中指定的设置包括以下内容:

    logging_certificates
    此参数的值被传给 certificate RHEL 系统角色中的 certificate_requests,并用来创建私钥和证书。
    logging_pki_files

    使用这个参数,您可以配置日志记录用来查找 CA 证书和用于 TLS 的密钥文件的路径和其他设置,使用以下子参数指定:ca_certca_cert_srccertcert_srcprivate_keyprivate_key_srctls

    注意

    如果您使用 logging_certificates 在受管节点上创建文件,请不要使用 ca_cert_src,cert_src, 和 private_key_src,用于复制由 logging_certificates 创建的文件。

    ca_cert
    表示受管节点上 CA 证书文件的路径。默认路径为 /etc/pki/tls/certs/ca.pem,文件名由用户设置。
    cert
    表示受管节点上证书文件的路径。默认路径为 /etc/pki/tls/certs/server-cert.pem,文件名由用户设置。
    private_key
    表示受管节点上私钥文件的路径。默认路径为 /etc/pki/tls/private/server-key.pem,文件名由用户设置。
    ca_cert_src
    代表控制节点上 CA 证书文件的路径,该路径被复制到目标主机上由 ca_cert 指定的位置。如果使用 logging_certificates,请不要使用它。
    cert_src
    代表控制节点上证书文件的路径,该文件的路径被复制到目标主机上由 cert 指定的位置。如果使用 logging_certificates,请不要使用它。
    private_key_src
    代表控制节点上私钥文件的路径,该路径被复制到目标主机上由 private_key 指定的位置。如果使用 logging_certificates,请不要使用它。
    tls
    将此参数设为 true 以确保通过网络安全地传输日志。如果您不想要一个安全的包装程序,您可以设置 tls: false

    有关 playbook 中使用的所有变量的详情,请查看控制节点上的 /usr/share/ansible/roles/rhel-system-roles.logging/README.md 文件。

  2. 验证 playbook 语法:

    $ ansible-playbook --syntax-check ~/playbook.yml

    请注意,这个命令只验证语法,不会防止错误但有效的配置。

  3. 运行 playbook:

    $ ansible-playbook ~/playbook.yml

其他资源

  • /usr/share/ansible/roles/rhel-system-roles.logging/README.md 文件
  • /usr/share/doc/rhel-system-roles/logging/ 目录
  • /usr/share/ansible/roles/rhel-system-roles.certificate/README.md 文件
  • /usr/share/doc/rhel-system-roles/certificate/ 目录
  • 使用 RHEL 系统角色请求证书
  • rsyslog.conf (5)syslog (3) 手册页

8.2.3.2. 配置带有 TLS 的服务器日志

您可以使用 logging RHEL 系统角色在 RHEL 服务器上配置日志,并将它们设置为使用 TLS 加密从远程日志系统接收日志。

此流程创建私钥和证书。接下来,它会在 Ansible 清单中 server 组中的所有主机上配置 TLS。

注意

您不必在 playbook 中调用 certificate RHEL 系统角色来创建证书。logging RHEL 系统角色会自动调用它。

要让 CA 能够为创建的证书签名,受管节点必须在 IdM 域中注册。

先决条件

  • 您已准备好控制节点和受管节点
  • 以可在受管主机上运行 playbook 的用户登录到控制节点。
  • 用于连接到受管节点的帐户具有 sudo 权限。
  • 受管节点已在 IdM 域中注册。

流程

  1. 创建一个包含以下内容的 playbook 文件,如 ~/playbook.yml

    ---
    - name: Configure remote logging solution using TLS for secure transfer of logs
      hosts: managed-node-01.example.com
      tasks:
        - name: Deploying remote input and remote_files output with certs
          ansible.builtin.include_role:
            name: rhel-system-roles.logging
          vars:
            logging_certificates:
              - name: logging_cert
                dns: ['localhost', 'www.example.com']
                ca: ipa
            logging_pki_files:
              - ca_cert: /local/path/to/ca_cert.pem
                cert: /local/path/to/logging_cert.pem
                private_key: /local/path/to/logging_cert.pem
            logging_inputs:
              - name: input_name
                type: remote
                tcp_ports: 514
                tls: true
                permitted_clients: ['clients.example.com']
            logging_outputs:
              - name: output_name
                type: remote_files
                remote_log_path: /var/log/remote/%FROMHOST%/%PROGRAMNAME:::secpath-replace%.log
                async_writing: true
                client_count: 20
                io_buffer_size: 8192
            logging_flows:
              - name: flow_name
                inputs: [input_name]
                outputs: [output_name]

    示例 playbook 中指定的设置包括以下内容:

    logging_certificates
    此参数的值被传给 certificate RHEL 系统角色中的 certificate_requests,并用来创建私钥和证书。
    logging_pki_files

    使用这个参数,您可以配置日志记录用来查找 CA 证书和用于 TLS 的密钥文件的路径和其他设置,使用以下子参数指定:ca_certca_cert_srccertcert_srcprivate_keyprivate_key_srctls

    注意

    如果您使用 logging_certificates 在受管节点上创建文件,请不要使用 ca_cert_src,cert_src, 和 private_key_src,用于复制由 logging_certificates 创建的文件。

    ca_cert
    表示受管节点上 CA 证书文件的路径。默认路径为 /etc/pki/tls/certs/ca.pem,文件名由用户设置。
    cert
    表示受管节点上证书文件的路径。默认路径为 /etc/pki/tls/certs/server-cert.pem,文件名由用户设置。
    private_key
    表示受管节点上私钥文件的路径。默认路径为 /etc/pki/tls/private/server-key.pem,文件名由用户设置。
    ca_cert_src
    代表控制节点上 CA 证书文件的路径,该路径被复制到目标主机上由 ca_cert 指定的位置。如果使用 logging_certificates,请不要使用它。
    cert_src
    代表控制节点上证书文件的路径,该文件的路径被复制到目标主机上由 cert 指定的位置。如果使用 logging_certificates,请不要使用它。
    private_key_src
    代表控制节点上私钥文件的路径,该路径被复制到目标主机上由 private_key 指定的位置。如果使用 logging_certificates,请不要使用它。
    tls
    将此参数设为 true 以确保通过网络安全地传输日志。如果您不想要一个安全的包装程序,您可以设置 tls: false

    有关 playbook 中使用的所有变量的详情,请查看控制节点上的 /usr/share/ansible/roles/rhel-system-roles.logging/README.md 文件。

  2. 验证 playbook 语法:

    $ ansible-playbook --syntax-check ~/playbook.yml

    请注意,这个命令只验证语法,不会防止错误但有效的配置。

  3. 运行 playbook:

    $ ansible-playbook ~/playbook.yml

其他资源

  • /usr/share/ansible/roles/rhel-system-roles.logging/README.md 文件
  • /usr/share/doc/rhel-system-roles/logging/ 目录
  • 使用 RHEL 系统角色请求证书
  • rsyslog.conf (5)syslog (3) 手册页

8.2.4. 使用带有 RELP 的日志记录 RHEL 系统角色

可靠的事件日志协议(RELP)是一种通过 TCP 网络记录数据和消息的网络协议。它确保了事件消息的可靠传递,您可以在不容许任何消息丢失的环境中使用它。

RELP 发送者以命令的形式传输日志条目,接收器会在处理后确认它们。为确保一致性,RELP 将事务数保存到传输的命令中,以便进行任何类型的消息恢复。

您可以考虑在 RELP 客户端和 RELP Server 间的远程日志系统。RELP 客户端将日志传送给远程日志系统,RELP 服务器接收由远程日志系统发送的所有日志。要实现这种用例,您可以使用 logging RHEL 系统角色将日志记录系统配置为可靠地发送和接收日志条目。

8.2.4.1. 配置带有 RELP 的客户端日志

您可以使用 logging RHEL 系统角色配置保存在带有 RELP 的远程日志系统的日志消息传输。

此流程对 Ansible 清单中 客户端 组中的所有主机配置 RELP。RELP 配置使用传输层安全(TLS)来加密消息传输,保证日志在网络上安全传输。

先决条件

流程

  1. 创建一个包含以下内容的 playbook 文件,如 ~/playbook.yml

    ---
    - name: Configure client-side of the remote logging solution using RELP
      hosts: managed-node-01.example.com
      tasks:
        - name: Deploy basic input and RELP output
          ansible.builtin.include_role:
            name: rhel-system-roles.logging
          vars:
            logging_inputs:
              - name: basic_input
                type: basics
            logging_outputs:
              - name: relp_client
                type: relp
                target: logging.server.com
                port: 20514
                tls: true
                ca_cert: /etc/pki/tls/certs/ca.pem
                cert: /etc/pki/tls/certs/client-cert.pem
                private_key: /etc/pki/tls/private/client-key.pem
                pki_authmode: name
                permitted_servers:
                  - '*.server.example.com'
            logging_flows:
              - name: example_flow
                inputs: [basic_input]
                outputs: [relp_client]

    示例 playbook 中指定的设置包括以下内容:

    target
    这是一个必需的参数,用于指定运行远程日志系统的主机名。
    port
    远程日志记录系统正在监听的端口号。
    tls

    确保日志在网络上安全地传输。如果您不想要安全打包程序,可以将 tls 变量设置为 false。在与 RELP 工作时,默认的 tls 参数被设置为 true,且需要密钥/证书和 triplets {ca_certcertprivate_key} 和/或 {ca_cert_src,cert_src,private_key_src}。

    • 如果设置了 {ca_cert_src,cert_src,private_key_src} 三元组,则默认位置 /etc/pki/tls/certs/etc/pki/tls/private 被用作受管节点上的目的地,以便从控制节点传输文件。在这种情况下,文件名与 triplet 中的原始名称相同
    • 如果设置了 {ca_cert,cert,private_key} 三元组,则文件在日志配置前应位于默认路径上。
    • 如果两个三元组都设置了,则文件将从控制节点的本地路径传输到受管节点的特定路径。
    ca_cert
    表示 CA 证书的路径。默认路径为 /etc/pki/tls/certs/ca.pem,文件名由用户设置。
    cert
    表示证书的路径。默认路径为 /etc/pki/tls/certs/server-cert.pem,文件名由用户设置。
    private_key
    表示私钥的路径。默认路径为 /etc/pki/tls/private/server-key.pem,文件名由用户设置。
    ca_cert_src
    代表复制到受管节点的本地 CA 证书文件路径。如果指定了 ca_cert,则会将其复制到该位置。
    cert_src
    代表复制到受管节点的本地证书文件路径。如果指定了 cert,则会将其复制到该位置。
    private_key_src
    代表复制到受管节点的本地密钥文件路径。如果指定了 private_key,则会将其复制到该位置。
    pki_authmode
    接受身份验证模式为 namefingerprint
    permitted_servers
    日志客户端允许通过 TLS 连接和发送日志的服务器列表。
    输入
    日志输入字典列表。
    输出
    日志输出字典列表。

    有关 playbook 中使用的所有变量的详情,请查看控制节点上的 /usr/share/ansible/roles/rhel-system-roles.logging/README.md 文件。

  2. 验证 playbook 语法:

    $ ansible-playbook --syntax-check ~/playbook.yml

    请注意,这个命令只验证语法,不会防止错误但有效的配置。

  3. 运行 playbook:

    $ ansible-playbook ~/playbook.yml

其他资源

  • /usr/share/ansible/roles/rhel-system-roles.logging/README.md 文件
  • /usr/share/doc/rhel-system-roles/logging/ 目录
  • rsyslog.conf (5)syslog (3) 手册页

8.2.4.2. 配置带有 RELP 的服务器日志

您可以使用 logging RHEL 系统角色配置服务器,以从带有 RELP 的远程日志记录系统接收日志信息。

此流程对 Ansible 清单中 服务器 组中的所有主机配置 RELP。RELP 配置使用 TLS 加密消息传输,以保证在网络上安全地传输日志。

先决条件

流程

  1. 创建一个包含以下内容的 playbook 文件,如 ~/playbook.yml

    ---
    - name: Configure server-side of the remote logging solution using RELP
      hosts: managed-node-01.example.com
      tasks:
        - name: Deploying remote input and remote_files output
          ansible.builtin.include_role:
            name: rhel-system-roles.logging
          vars:
            logging_inputs:
              - name: relp_server
                type: relp
                port: 20514
                tls: true
                ca_cert: /etc/pki/tls/certs/ca.pem
                cert: /etc/pki/tls/certs/server-cert.pem
                private_key: /etc/pki/tls/private/server-key.pem
                pki_authmode: name
                permitted_clients:
                  - '*example.client.com'
            logging_outputs:
              - name: remote_files_output
                type: remote_files
            logging_flows:
              - name: example_flow
                inputs: relp_server
                outputs: remote_files_output

    示例 playbook 中指定的设置包括以下内容:

    port
    远程日志记录系统正在监听的端口号。
    tls

    确保日志在网络上安全地传输。如果您不想要安全打包程序,可以将 tls 变量设置为 false。在与 RELP 工作时,默认的 tls 参数被设置为 true,且需要密钥/证书和 triplets {ca_certcertprivate_key} 和/或 {ca_cert_src,cert_src,private_key_src}。

    • 如果设置了 {ca_cert_src,cert_src,private_key_src} 三元组,则默认位置 /etc/pki/tls/certs/etc/pki/tls/private 被用作受管节点上的目的地,以便从控制节点传输文件。在这种情况下,文件名与 triplet 中的原始名称相同
    • 如果设置了 {ca_cert,cert,private_key} 三元组,则文件在日志配置前应位于默认路径上。
    • 如果两个三元组都设置了,则文件将从控制节点的本地路径传输到受管节点的特定路径。
    ca_cert
    表示 CA 证书的路径。默认路径为 /etc/pki/tls/certs/ca.pem,文件名由用户设置。
    cert
    表示证书的路径。默认路径为 /etc/pki/tls/certs/server-cert.pem,文件名由用户设置。
    private_key
    表示私钥的路径。默认路径为 /etc/pki/tls/private/server-key.pem,文件名由用户设置。
    ca_cert_src
    代表复制到受管节点的本地 CA 证书文件路径。如果指定了 ca_cert,则会将其复制到该位置。
    cert_src
    代表复制到受管节点的本地证书文件路径。如果指定了 cert,则会将其复制到该位置。
    private_key_src
    代表复制到受管节点的本地密钥文件路径。如果指定了 private_key,则会将其复制到该位置。
    pki_authmode
    接受身份验证模式为 namefingerprint
    permitted_clients
    日志记录服务器允许通过 TLS 连接和发送日志的客户端列表。
    输入
    日志输入字典列表。
    输出
    日志输出字典列表。

    有关 playbook 中使用的所有变量的详情,请查看控制节点上的 /usr/share/ansible/roles/rhel-system-roles.logging/README.md 文件。

  2. 验证 playbook 语法:

    $ ansible-playbook --syntax-check ~/playbook.yml

    请注意,这个命令只验证语法,不会防止错误但有效的配置。

  3. 运行 playbook:

    $ ansible-playbook ~/playbook.yml

其他资源

  • /usr/share/ansible/roles/rhel-system-roles.logging/README.md 文件
  • /usr/share/doc/rhel-system-roles/logging/ 目录
  • rsyslog.conf (5)syslog (3) 手册页

8.2.5. 其他资源

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.