3.5. 컬렉션을 사용하여 로컬 로깅 시스템 역할 적용

다음은 컬렉션을 사용하여 Ansible 플레이북을 준비 및 적용하여 별도의 머신 세트에서 로깅 솔루션을 구성하는 예입니다.

사전 요구 사항

  • rhel-system-roles의 컬렉션 형식은 rpm 패키지 또는 Automation Hub에서 설치됩니다.

절차

  1. 필요한 역할을 정의하는 플레이북을 생성합니다.

    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. 특정 인벤토리에서 플레이북을 실행합니다.

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

    다음과 같습니다.

    • inventory-file 은 인벤토리 파일의 이름입니다.
    • logging-playbook.yml 은 사용하는 플레이북입니다.

검증 단계

  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/ECDHE 로그를 확인합니다. 예를 들면 다음과 같습니다.

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

      호스트 이름은 클라이언트 시스템의 호스트 이름입니다. 로그에 logger 명령을 입력한 사용자의 사용자 이름이 표시됩니다(이 경우 root ).