11.7. RELP에서 로깅 시스템 역할 사용
RLP(Reliable Event Logging Protocol)는 TCP 네트워크를 통한 데이터 및 메시지 로깅을 위한 네트워킹 프로토콜입니다. 이벤트 메시지를 안정적으로 전달하고 메시지 손실을 허용하지 않는 환경에서 사용할 수 있습니다.
RELP 발신자는 로그 항목을 명령 형태로 전송하고 수신자는 처리되면 이를 승인합니다. 일관성을 보장하기 위해 RELP는 모든 종류의 메시지 복구를 위해 각 전송된 각 명령에 트랜잭션 번호를 저장합니다.
RELP 클라이언트와 RELP 서버 간의 원격 로깅 시스템을 고려할 수 있습니다. RELP Client는 원격 로깅 시스템으로 로그를 전송하고 RELP 서버는 원격 로깅 시스템에서 보낸 모든 로그를 수신합니다.
관리자는 로깅
시스템 역할을 사용하여 로그 항목을 안정적으로 전송하고 수신하도록 로깅 시스템을 구성할 수 있습니다.
11.7.1. RELP로 클라이언트 로깅 구성
로깅
시스템 역할을 사용하여 로컬 시스템에 로깅하고 Ansible 플레이북을 실행하여 RELP를 사용하여 원격 로깅 시스템으로 로그를 전송할 수 있는 RHEL 시스템에 로깅을 구성할 수 있습니다.
이 절차에서는 Ansible 인벤토리의 clients
그룹에 있는 모든 호스트에 RELP를 구성합니다. RELP 구성은 TLS(Transport Layer Security)를 사용하여 네트워크를 통해 로그를 안전하게 전송하기 위해 메시지 전송을 암호화합니다.
사전 요구 사항
- RELP를 구성할 관리 노드에서 플레이북을 실행할 수 있는 권한이 있습니다.
- 관리형 노드는 제어 노드의 인벤토리 파일에 나열됩니다.
-
ansible
및rhel-system-roles
패키지는 제어 노드에 설치됩니다.
절차
다음 콘텐츠를 사용하여
playbook.yml
파일을 생성합니다.--- - name: Deploying basic input and relp output hosts: clients roles: - rhel-system-roles.logging vars: logging_inputs: - name: basic_input type: basics logging_outputs: - name: relp_client type: relp target: _logging.server.com_ port: 20514 tls: true ca_cert: _/etc/pki/tls/certs/ca.pem_ cert: _/etc/pki/tls/certs/client-cert.pem_ private_key: _/etc/pki/tls/private/client-key.pem_ pki_authmode: name permitted_servers: - '*.server.example.com' logging_flows: - name: _example_flow_ inputs: [basic_input] outputs: [relp_client]
플레이북은 다음 설정을 사용합니다.
-
대상
: 이는 원격 로깅 시스템이 실행 중인 호스트 이름을 지정하는 필수 매개변수입니다. -
포트
: 원격 로깅 시스템이 수신하고 있는 포트 번호입니다. tls
: 네트워크를 통해 안전한 로그 전송을 보장합니다. 보안 래퍼를 원하지 않으면tls
변수를false
로 설정할 수 있습니다. 기본적으로tls
매개변수는 RELP와 함께 작업할 때 true로 설정되고 키/인증서 {ca_cert
,private_key
} 및/또는 {ca_
},cert
_srccert_src
, cert_src
}가 필요합니다.-
{
ca_cert_src
,cert_src
,private_key_src
} 트립릿이 설정된 경우 기본 위치/etc/pki/tls/certs
및/etc/pki/tls/private
이 제어 노드에서 파일을 전송하는 대상으로 사용됩니다. 이 경우 파일 이름은 트리플릿의 원래 이름과 동일합니다. -
{
ca_cert
,cert
,private_key
} 트립릿이 설정된 경우 로깅 구성보다 먼저 파일이 기본 경로에 있어야 합니다. - 트리플릿이 모두 설정되면 파일은 제어 노드에서 관리 노드의 특정 경로로 전송됩니다.
-
{
-
ca_cert
: CA 인증서의 경로를 나타냅니다. 기본 경로는/etc/pki/tls/certs/ca.pem
이며 파일 이름은 사용자가 설정합니다. -
cert
: 인증서 경로를 나타냅니다. 기본 경로는/etc/pki/tls/certs/server-cert.pem
이며 파일 이름은 사용자가 설정합니다. -
private_key
: 개인 키의 경로를 나타냅니다.Represents the path to private key. 기본 경로는/etc/pki/tls/private/server-key.pem
이며 파일 이름은 사용자가 설정합니다. -
ca_cert_src
: 대상 호스트에 복사되는 로컬 CA 인증서 파일 경로를 나타냅니다. ca_cert를 지정하면 해당 위치에 복사됩니다. -
cert_src
: 대상 호스트에 복사되는 로컬 인증서 파일 경로를 나타냅니다. cert가 지정되면 해당 위치에 복사됩니다. -
private_key_src
: 대상 호스트에 복사되는 로컬 키 파일 경로를 나타냅니다. private_key를 지정하면 위치에 복사됩니다. -
pki_authmode
: 인증 모드를이름
또는지문으로 허용합니다
. -
permitted_servers
: 로깅 클라이언트에서 TLS를 통해 연결하고 로그를 보내도록 허용할 서버 목록입니다. -
입력
: 로깅 입력 사전 목록입니다. -
출력
: 로깅 출력 사전 목록입니다.
-
선택 사항: 플레이북 구문을 확인합니다.
# ansible-playbook --syntax-check playbook.yml
플레이북을 실행합니다.
# ansible-playbook -i inventory_file playbook.yml
11.7.2. RELP로 서버 로깅 구성
로깅
시스템 역할을 사용하여 RHEL 시스템에 서버로 로깅을 구성하고 Ansible 플레이북을 실행하여 RELP를 사용하여 원격 로깅 시스템에서 로그를 수신할 수 있습니다.
이 절차에서는 Ansible 인벤토리의 서버
그룹에 있는 모든 호스트에 RELP를 구성합니다. RELP 구성은 TLS를 사용하여 네트워크를 통해 로그를 안전하게 전송하기 위해 메시지 전송을 암호화합니다.
사전 요구 사항
- RELP를 구성할 관리 노드에서 플레이북을 실행할 수 있는 권한이 있습니다.
- 관리형 노드는 제어 노드의 인벤토리 파일에 나열됩니다.
-
ansible
및rhel-system-roles
패키지는 제어 노드에 설치됩니다.
절차
다음 콘텐츠를 사용하여
playbook.yml
파일을 생성합니다.--- - name: Deploying remote input and remote_files output hosts: server roles: - rhel-system-roles.logging vars: logging_inputs: - name: relp_server type: relp port: 20514 tls: true ca_cert: _/etc/pki/tls/certs/ca.pem_ cert: _/etc/pki/tls/certs/server-cert.pem_ private_key: _/etc/pki/tls/private/server-key.pem_ pki_authmode: name permitted_clients: - '_*example.client.com_' logging_outputs: - name: _remote_files_output_ type: _remote_files_ logging_flows: - name: _example_flow_ inputs: _relp_server_ outputs: _remote_files_output_
플레이북은 다음 설정을 사용합니다.
-
포트
: 원격 로깅 시스템이 수신하고 있는 포트 번호입니다. tls
: 네트워크를 통해 안전한 로그 전송을 보장합니다. 보안 래퍼를 원하지 않으면tls
변수를false
로 설정할 수 있습니다. 기본적으로tls
매개변수는 RELP와 함께 작업할 때 true로 설정되고 키/인증서 {ca_cert
,private_key
} 및/또는 {ca_
},cert
_srccert_src
, cert_src
}가 필요합니다.-
{
ca_cert_src
,cert_src
,private_key_src
} 트립릿이 설정된 경우 기본 위치/etc/pki/tls/certs
및/etc/pki/tls/private
이 제어 노드에서 파일을 전송하는 대상으로 사용됩니다. 이 경우 파일 이름은 트리플릿의 원래 이름과 동일합니다. -
{
ca_cert
,cert
,private_key
} 트립릿이 설정된 경우 로깅 구성보다 먼저 파일이 기본 경로에 있어야 합니다. - 트리플릿이 모두 설정되면 파일은 제어 노드에서 관리 노드의 특정 경로로 전송됩니다.
-
{
-
ca_cert
: CA 인증서의 경로를 나타냅니다. 기본 경로는/etc/pki/tls/certs/ca.pem
이며 파일 이름은 사용자가 설정합니다. -
cert
: 인증서 경로를 나타냅니다. 기본 경로는/etc/pki/tls/certs/server-cert.pem
이며 파일 이름은 사용자가 설정합니다. -
private_key
: 개인 키의 경로를 나타냅니다.Represents the path to private key. 기본 경로는/etc/pki/tls/private/server-key.pem
이며 파일 이름은 사용자가 설정합니다. -
ca_cert_src
: 대상 호스트에 복사되는 로컬 CA 인증서 파일 경로를 나타냅니다. ca_cert를 지정하면 해당 위치에 복사됩니다. -
cert_src
: 대상 호스트에 복사되는 로컬 인증서 파일 경로를 나타냅니다. cert가 지정되면 해당 위치에 복사됩니다. -
private_key_src
: 대상 호스트에 복사되는 로컬 키 파일 경로를 나타냅니다. private_key를 지정하면 위치에 복사됩니다. -
pki_authmode
: 인증 모드를이름
또는지문으로 허용합니다
. -
permitted_clients
: 로깅 서버에서 TLS를 통해 로그를 연결하고 보내는 데 허용할 클라이언트 목록입니다. -
입력
: 로깅 입력 사전 목록입니다. -
출력
: 로깅 출력 사전 목록입니다.
-
선택 사항: 플레이북 구문을 확인합니다.
# ansible-playbook --syntax-check playbook.yml
플레이북을 실행합니다.
# ansible-playbook -i inventory_file playbook.yml