5.4. TCP를 통한 원격 로깅 서버 구성
TCP 프로토콜을 통해 서버로 로그 메시지를 전달하도록 시스템을 구성할 수 있습니다. omfwd
플러그인은 UDP 또는 TCP를 통한 전달 기능을 제공합니다. 기본 프로토콜은 UDP입니다. 플러그인이 내장되어 있으므로 로드하지 않아도 됩니다.
사전 요구 사항
-
rsyslog
패키지는 서버에 보고해야 하는 클라이언트 시스템에 설치됩니다. - 원격 로깅을 위해 서버를 구성했습니다.
- 지정된 포트는 SELinux에서 허용되며 방화벽에서 열려 있습니다.
-
시스템에는 SELinux 구성에 비표준 포트를 추가하기 위한
semanage
명령을 제공하는policycoreutils-python-utils
패키지가 포함되어 있습니다.
프로세스
/etc/rsyslog.d/
디렉터리에 (예:10-remotelog.conf
) 를 생성하고 다음 내용을 삽입합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음과 같습니다.
-
queue.type="linkedlist"
설정은 LinkedList in-memory 큐를 활성화합니다. -
queue.filename
설정은 디스크 스토리지를 정의합니다. 백업 파일은 이전 globalworkDirectory
지시문에서 지정한 작업 디렉터리에example_fwd
접두사를 사용하여 생성됩니다. -
action.resumeRetryCount -1
설정은 서버가 응답하지 않는 경우 연결을 다시 시도할 때rsyslog
가 메시지를 삭제하지 않도록 합니다. -
rsyslog
가 종료되면queue.saveOnShutdown="on"
설정은 메모리 내 데이터를 저장합니다. 마지막 줄은 수신된 모든 메시지를 로깅 서버로 전달합니다. 포트 사양은 선택 사항입니다.
이 구성을 사용하면
rsyslog
가 서버에 메시지를 전송하지만 원격 서버에 연결할 수 없는 경우 메시지를 메모리에 유지합니다. 디스크의 파일은rsyslog
가 구성된 메모리 대기열 공간이 부족하거나 종료되어야 하는 경우에만 생성되므로 시스템 성능에 도움이 됩니다.
참고rsyslog는 구성 파일
/etc/rsyslog.d/
를 사전순으로 처리합니다.-
rsyslog
서비스를 다시 시작합니다.systemctl restart rsyslog
# systemctl restart rsyslog
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
클라이언트 시스템이 서버에 메시지를 전송하는지 확인하려면 다음을 수행합니다.
클라이언트 시스템에서 테스트 메시지를 보냅니다.
logger test
# logger test
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 서버 시스템에서
/var/log/messages
로그를 확인합니다. 예를 들면 다음과 같습니다.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
).