13.3. 로컬 로깅 시스템 역할 적용
Ansible 플레이북을 준비 및 적용하여 별도의 머신 세트에서 로깅 솔루션을 구성합니다. 각 머신은 로컬에서 로그를 기록합니다.
사전 요구 사항
- 제어 노드와 관리형 노드가 준비되었습니다.
- 관리 노드에서 플레이북을 실행할 수 있는 사용자로 제어 노드에 로그인되어 있습니다.
-
관리형 노드에 연결하는 데 사용하는 계정에는
sudo
권한이 있습니다.
배포 시 RHEL 시스템 역할이 rsyslog
를 설치하므로 rsyslog
패키지가 설치되지 않아도 됩니다.
절차
다음 콘텐츠를 사용하여 플레이북 파일(예:
~/playbook.yml
)을 생성합니다.--- - name: Deploying basics input and implicit files output hosts: managed-node-01.example.com 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 --syntax-check ~/playbook.yml
이 명령은 구문만 검증하고 잘못되었지만 유효한 구성으로부터 보호하지 않습니다.
플레이북을 실행합니다.
$ ansible-playbook ~/playbook.yml
검증
/etc/ECDHE.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/ECDHE 로그를 확인합니다.
예를 들면 다음과 같습니다.# cat /var/log/messages Aug 5 13:48:31 <hostname> root[6778]: test
여기서
<hostname
>은 클라이언트 시스템의 호스트 이름입니다. 로그에 logger 명령을 입력한 사용자의 사용자 이름이 포함됩니다(이 경우root
).
추가 리소스
-
/usr/share/ansible/roles/rhel-system-roles.logging/README.md
파일 -
/usr/share/doc/rhel-system-roles/logging/
디렉터리