5.9. 안정적인 원격 로깅 구성
RELP(Reliable Event Logging Protocol)를 사용하면 메시지 손실 위험이 크게 감소하여 TCP를 통해 syslog
메시지를 보내고 받을 수 있습니다. RELP는 이벤트 메시지를 안정적으로 전달하므로 메시지 손실이 허용되지 않는 환경에서 유용합니다. RELP를 사용하려면 서버에서 실행되고 로그를 수신하는 imrelp
입력 모듈과 클라이언트에서 실행되고 로그를 로깅 서버로 보내는 omrelp
출력 모듈을 구성합니다.
사전 요구 사항
-
rsyslog
,librelp
및rsyslog-relp
패키지를 서버와 클라이언트 시스템에 설치했습니다. - 지정된 포트는 SELinux에서 허용되며 방화벽에서 열려 있습니다.
프로세스
안정적인 원격 로깅을 위해 클라이언트 시스템을 구성합니다.
클라이언트 시스템에서
/etc/rsyslog.d/
디렉터리에 (예:relpclient
파일을 생성하고 다음 내용을 삽입합니다..conf
) 새 .confmodule(load="omrelp") *.* action(type="omrelp" target="_target_IP_" port="_target_port_")
module(load="omrelp") *.* action(type="omrelp" target="_target_IP_" port="_target_port_")
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음과 같습니다.
-
target_IP
는 로깅 서버의 IP 주소입니다. -
target_port
는 로깅 서버의 포트입니다.
-
-
/etc/rsyslog.d/relpclient.conf
파일에 변경 사항을 저장합니다. rsyslog
서비스를 다시 시작합니다.systemctl restart rsyslog
# systemctl restart rsyslog
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 선택 사항:
rsyslog
가 활성화되지 않은 경우 재부팅 후rsyslog
서비스가 자동으로 시작되는지 확인합니다.systemctl enable rsyslog
# systemctl enable rsyslog
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
안정적인 원격 로깅을 위해 서버 시스템을 구성합니다.
서버 시스템에서
/etc/rsyslog.d/
디렉터리에 (예:relpserv
파일을 생성하고 다음 내용을 삽입합니다..conf
) 새 .confCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음과 같습니다.
-
log_path
는 메시지를 저장하는 경로를 지정합니다. -
target_port
는 로깅 서버의 포트입니다. 클라이언트 구성 파일과 동일한 값을 사용합니다.
-
-
/etc/rsyslog.d/relpserv.conf
파일에 변경 사항을 저장합니다. rsyslog
서비스를 다시 시작합니다.systemctl restart rsyslog
# systemctl restart rsyslog
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 선택 사항:
rsyslog
가 활성화되지 않은 경우 재부팅 후rsyslog
서비스가 자동으로 시작되는지 확인합니다.systemctl enable rsyslog
# systemctl enable rsyslog
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
클라이언트 시스템이 서버에 메시지를 전송하는지 확인하려면 다음을 수행합니다.
클라이언트 시스템에서 테스트 메시지를 보냅니다.
logger test
# logger test
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 서버 시스템에서 지정된
log_path
에서 로그를 확인합니다. 예를 들면 다음과 같습니다.cat /var/log/remote/msg/hostname/root.log Feb 25 03:53:17 hostname root[6064]: test
# cat /var/log/remote/msg/hostname/root.log Feb 25 03:53:17 hostname root[6064]: test
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 여기서
hostname
은 클라이언트 시스템의 호스트 이름입니다. 로그에는 logger 명령을 입력한 사용자의 사용자 이름이 포함되어 있습니다(이 경우root
).