[리눅스] 서비스 로그 파일 호스트별 분리

리눅스 시스템에서 서버를 운영하는 경우, 각 호스트의 서비스 로그 파일을 별도로 관리하는 것이 중요합니다. 호스트별로 로그를 분리함으로써 서버 장애나 보안 문제가 발생했을 때 문제 해결을 빠르게 할 수 있고, 장애 분석을 효과적으로 수행할 수 있습니다.

1. 호스트명을 포함한 로그 파일 생성

가장 간단한 방법은 rsyslog를 사용하여 호스트명을 포함한 로그 파일을 생성하는 것입니다.

# /etc/rsyslog.conf 파일 수정
$ModLoad imuxsock
$ModLoad imklog
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
$RepeatedMsgReduction on
$WorkDirectory /var/lib/rsyslog # 디렉터리 경로는 시스템에 따라 다를 수 있음

$template RemoteLogs,"/var/log/%HOSTNAME%/%PROGRAMNAME%.log"
*.* ?RemoteLogs
& ~

위 설정을 통해 host01, host02와 같은 호스트에서 실행되는 서비스의 로그 파일을 각각 /var/log/host01/service.log, /var/log/host02/service.log 경로에 생성할 수 있습니다.

2. rsyslog 재시작

설정이 완료되면 rsyslog를 재시작하여 변경 사항을 적용합니다.

sudo systemctl restart rsyslog

로컬 시스템의 로그가 호스트명을 포함한 디렉터리로 분리되어 저장됩니다.

이제 호스트별로 로그 파일이 분리되어 관리될 것이며, 서버 관리 및 문제 해결이 더욱 효율적으로 이루어질 수 있을 것입니다.

마무리

이상으로 리눅스에서 서비스 로그 파일을 호스트별로 분리하는 방법에 대해 알아보았습니다. 이를 통해 각 호스트에서 발생하는 이슈들을 신속하고 효과적으로 대응할 수 있게 되며, 시스템의 안전성과 안정성을 높일 수 있을 것입니다.

참고 자료: Rsyslog 문서