7.3. 로컬 로깅 시스템 역할 적용
다음 단계에 따라 Red Hat Ansible Engine 플레이북을 준비하고 적용하여 별도의 시스템 집합에서 로깅 솔루션을 구성합니다. 각 시스템은 로그를 로컬로 기록합니다.
사전 요구 사항
-
crypto_policies
시스템 역할로 구성하려는 시스템인 하나 이상의 관리형 노드에 대한 액세스 및 권한. Red Hat Ansible Engine이 다른 시스템을 구성하는 시스템인 제어 노드에 대한 액세스 및 권한.
제어 노드에서 다음을 수행합니다.
- Red Hat Ansible Engine 설치
-
rhel-system-roles
패키지가 설치되어 있습니다. - 관리 노드를 나열하는 인벤토리 파일.
절차
필요한 역할을 정의하는 플레이북을 생성합니다.
새 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]
특정 인벤토리에서 플레이북을 실행합니다.
# ansible-playbook -i inventory-file /path/to/file/logging-playbook.yml
여기서: *
inventory-file
은 인벤토리 파일입니다. *logging-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/messages
로그를 확인합니다. 예를 들면 다음과 같습니다.# cat /var/log/messages Aug 5 13:48:31 hostname root[6778]: test
여기서 'hostname' 은 클라이언트 시스템의 호스트 이름입니다. 로그에는 로거 명령을 입력한 사용자의 사용자 이름이 포함됩니다(이 경우
root
).