8.2. 使用 logging 系统角色
作为系统管理员,您可以使用 logging
系统角色将 Red Hat Enterprise Linux 主机配置为日志服务器,以从多个客户端系统收集日志。
8.2.1. 使用 logging
RHEL 系统角色过滤本地日志消息
您可以使用 logging
RHEL 系统角色的基于属性的过滤器根据各种条件过滤本地日志消息。例如,您可以实现:
- 日志清晰:在高流量环境中,日志可能会快速增长。专注于特定消息(如错误)有助于更快地识别问题。
- 优化的系统性能: Excessive 日志量通常与系统性能下降连接。仅针对重要事件选择的日志可以防止资源耗尽,这样可让您的系统更有效地运行。
- 增强安全性:通过安全消息进行高效过滤,如系统错误和失败的登录,有助于仅捕获相关日志。这对于检测漏洞和符合合规性标准非常重要。
先决条件
- 您已准备好控制节点和受管节点
- 以可在受管主机上运行 playbook 的用户登录到控制节点。
-
用于连接到受管节点的帐户具有
sudo
权限。
流程
创建一个包含以下内容的 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_inputs
和logging_outputs
之间的关系。inputs: [files_input]
选项指定从其处理日志的输入列表。输出: [files_output0, files_output1]
选项指定日志发送到的输出列表。
有关 playbook 中使用的所有变量的详情,请查看控制节点上的
/usr/share/ansible/roles/rhel-system-roles.logging/README.md
文件。验证 playbook 语法:
$ ansible-playbook --syntax-check ~/playbook.yml
请注意,这个命令只验证语法,不会防止错误但有效的配置。
运行 playbook:
$ ansible-playbook ~/playbook.yml
验证
在受管节点上,测试
/etc/rsyslog.conf
文件的语法:# rsyslogd -N 1 rsyslogd: version 8.1911.0-6.el8, config validation run... rsyslogd: End of config validation run. Bye.
在受管节点上,验证系统是否向日志发送包含
error
字符串的信息:发送测试信息:
# logger error
查看
/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_rsyslog
和 remote_files
配置接收远程输入,并将日志输出到远程主机名命名的目录中的本地文件。
因此,您可以涵盖您需要的用例:
- 集中式日志管理:从单一存储点收集、访问和管理多台计算机的日志消息,简化了日常监控和故障排除任务。此外,此用例还减少了登录各个计算机来检查日志消息的需要。
- 增强安全性:在一个中央位置存储日志消息可增加他们处于安全且篡改的环境中的几率。这样的环境可以更轻松地检测和响应安全事件,并更方便地满足审计要求。
- 提高了日志分析效率:协调来自多个系统的日志消息对于跨多个机器或服务的复杂问题的快速故障排除非常重要。这样,您可以快速分析和交叉引用来自不同来源的事件。
先决条件
- 您已准备好控制节点和受管节点
- 以可在受管主机上运行 playbook 的用户登录到控制节点。
-
用于连接到受管节点的帐户具有
sudo
权限。 - 在服务器或客户端系统的 SELinux 策略中定义端口,并打开这些端口的防火墙。默认 SELinux 策略包括端口 601、514、6514、10514 和 20514。要使用其他端口,请参阅 修改客户端和服务器系统 上的 SELinux 策略。
流程
创建一个包含以下内容的 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_ports
和tcp_ports
,则使用udp_ports
,并丢弃tcp_ports
。 logging_outputs
-
定义日志输出字典的列表。
type: remote_files
选项使输出将日志存储到每个远程主机和程序名称,其源自日志。 logging_flows
-
定义日志记录流字典列表,以指定
logging_inputs
和logging_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_inputs
和logging_outputs
之间的关系。inputs: [basic_input]
选项指定从其处理日志的输入列表。输出: [forward_output0, forward_output1]
选项指定日志发送到的输出列表。
有关 playbook 中使用的所有变量的详情,请查看控制节点上的
/usr/share/ansible/roles/rhel-system-roles.logging/README.md
文件。验证 playbook 语法:
$ ansible-playbook --syntax-check ~/playbook.yml
请注意,这个命令只验证语法,不会防止错误但有效的配置。
运行 playbook:
$ ansible-playbook ~/playbook.yml
验证
在客户端和服务器系统上测试
/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.
验证客户端系统向服务器发送信息:
在客户端系统中发送测试信息:
# logger test
在服务器系统上,查看
/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 RHEL 系统角色会自动调用它。
logging
_certificates
要让 CA 能够为创建的证书签名,受管节点必须在 IdM 域中注册。
先决条件
- 您已准备好控制节点和受管节点
- 以可在受管主机上运行 playbook 的用户登录到控制节点。
-
用于连接到受管节点的帐户具有
sudo
权限。 - 受管节点已在 IdM 域中注册。
流程
创建一个包含以下内容的 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_cert
、ca_cert_src
、cert
、cert_src
、private_key
、private_key_src
和tls
。注意如果您使用
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
文件。验证 playbook 语法:
$ ansible-playbook --syntax-check ~/playbook.yml
请注意,这个命令只验证语法,不会防止错误但有效的配置。
运行 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 域中注册。
流程
创建一个包含以下内容的 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_cert
、ca_cert_src
、cert
、cert_src
、private_key
、private_key_src
和tls
。注意如果您使用
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
文件。验证 playbook 语法:
$ ansible-playbook --syntax-check ~/playbook.yml
请注意,这个命令只验证语法,不会防止错误但有效的配置。
运行 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)来加密消息传输,保证日志在网络上安全传输。
先决条件
- 您已准备好控制节点和受管节点
- 以可在受管主机上运行 playbook 的用户登录到控制节点。
-
用于连接到受管节点的帐户具有
sudo
权限。
流程
创建一个包含以下内容的 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_cert
、cert
、private_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
-
接受身份验证模式为
name
或fingerprint
。 permitted_servers
- 日志客户端允许通过 TLS 连接和发送日志的服务器列表。
输入
- 日志输入字典列表。
输出
- 日志输出字典列表。
有关 playbook 中使用的所有变量的详情,请查看控制节点上的
/usr/share/ansible/roles/rhel-system-roles.logging/README.md
文件。验证 playbook 语法:
$ ansible-playbook --syntax-check ~/playbook.yml
请注意,这个命令只验证语法,不会防止错误但有效的配置。
运行 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 加密消息传输,以保证在网络上安全地传输日志。
先决条件
- 您已准备好控制节点和受管节点
- 以可在受管主机上运行 playbook 的用户登录到控制节点。
-
用于连接到受管节点的帐户具有
sudo
权限。
流程
创建一个包含以下内容的 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_cert
、cert
、private_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
-
接受身份验证模式为
name
或fingerprint
。 permitted_clients
- 日志记录服务器允许通过 TLS 连接和发送日志的客户端列表。
输入
- 日志输入字典列表。
输出
- 日志输出字典列表。
有关 playbook 中使用的所有变量的详情,请查看控制节点上的
/usr/share/ansible/roles/rhel-system-roles.logging/README.md
文件。验证 playbook 语法:
$ ansible-playbook --syntax-check ~/playbook.yml
请注意,这个命令只验证语法,不会防止错误但有效的配置。
运行 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. 其他资源
- 准备一个控制节点和受管节点以使用 RHEL 系统角色
-
随
rhel-system-roles
软件包安装在/usr/share/ansible/roles/rhel-system-roles.logging/README.html
中的文档。 - RHEL 系统角色
-
系统上的
ansible-playbook (1)
手册页