3.5. 使用 Collections 应用本地日志系统角色

下例中使用集合来准备和应用 Ansible playbook,以在一组独立的计算机上配置日志记录解决方案。

先决条件

  • rhel-system-roles 的 Collection 格式是从 rpm 软件包或从 Automation Hub 安装的。

流程

  1. 创建定义所需角色的 playbook:

    1. 创建新 YAML 文件,并在文本编辑器中打开,例如:

      # vi logging-playbook.yml
    2. 将以下内容插入 YAML 文件中:

      ---
      - name: Deploying basics input and implicit files output
        hosts: all
        roles:
          - redhat.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]
  2. 在特定清单上执行 playbook:

    # ansible-playbook -i inventory-file logging-playbook.yml

    其中:

    • inventory-file 是清单文件的名称。
    • logging-playbook.yml 是您使用的 playbook。

验证步骤

  1. 测试配置文件 /etc/rsyslog.conf/etc/rsyslog.d 的语法:

    # 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/messages 日志,例如:

      # cat /var/log/messages
      Aug  5 13:48:31 hostname root[6778]: test

      hostname 是客户端系统的主机名。日志显示输入 logger 命令的用户的用户名,在本例中是 root