11.3. 应用 本地 日志记录系统角色
准备并应用 Ansible playbook,以便在一组独立的机器上配置日志记录解决方案。每台机器在本地记录日志。
先决条件
-
对一个或多个 受管节点 的访问和权限,这些节点是您要使用
logging
系统角色配置的系统。 对 控制节点 的访问和权限,这是 Red Hat Ansible Core 配置其他系统的系统。
在控制节点上:
-
ansible-core
和rhel-system-roles
软件包已安装 。
-
RHEL 8.0-8.5 提供对基于 Ansible 的自动化需要 Ansible Engine 2.9 的独立 Ansible 存储库的访问权限。Ansible Engine 包含命令行实用程序,如 ansible
、ansible-playbook
、连接器(如 docker
和 podman
)以及许多插件和模块。有关如何获取并安装 Ansible Engine 的详情,请参考如何下载并安装 Red Hat Ansible Engine 知识库文章。
RHEL 8.6 和 9.0 引入了 Ansible Core(作为 ansible-core
软件包提供),其中包含 Ansible 命令行工具、命令以及小型内置 Ansible 插件。RHEL 通过 AppStream 软件仓库提供此软件包,它有一个有限的支持范围。如需更多信息,请参阅 RHEL 9 和 RHEL 8.6 及更新的 AppStream 软件仓库文档中的 Ansible Core 软件包的支持范围。
- 列出受管节点的清单文件。
您不必安装 rsyslog
软件包,因为系统管理员在部署时会安装 rsyslog
。
流程
创建定义所需角色的 playbook:
创建新 YAML 文件,并在文本编辑器中打开,例如:
# vi logging-playbook.yml
插入以下内容:
--- - name: Deploying basics input and implicit files output hosts: all roles: - rhel-system-roles.logging vars: logging_inputs: - name: system_input type: basics logging_outputs: - name: files_output type: files logging_flows: - name: flow1 inputs: [system_input] outputs: [files_output]
对特定清单运行 playbook:
# ansible-playbook -i inventory-file /path/to/file/logging-playbook.yml
其中:
-
inventory-file
是清单文件。 -
logging-playbook.yml
是您使用的 playbook。
-
验证
测试
/etc/rsyslog.conf
文件的语法:# rsyslogd -N 1 rsyslogd: version 8.1911.0-6.el8, config validation run... rsyslogd: End of config validation run. Bye.
验证系统是否向日志发送信息:
发送测试信息:
# logger test
查看
/var/log/messages
日志,例如:# cat /var/log/messages Aug 5 13:48:31 hostname root[6778]: test
其中 'hostname' 是客户端系统的主机名。请注意,该日志包含输入 logger 命令的用户的用户名,本例中为
root
。