14.4. TCP를 통해 서버에 원격 로깅 구성
TCP 프로토콜을 통해 서버로 로그 메시지를 전달하도록 시스템을 구성할 수 있습니다. omfwd
플러그인은 UDP 또는 TCP를 통해 전달을 제공합니다. 기본 프로토콜은 UDP입니다. 플러그인이 내장되어 있으므로 로드할 필요가 없습니다.
사전 요구 사항
-
rsyslog
패키지는 서버에 보고해야 하는 클라이언트 시스템에 설치됩니다. - 원격 로깅을 위한 서버를 구성했습니다.
- 지정된 포트는 SELinux에서 허용되며 방화벽에서 열립니다.
-
시스템에는 SELinux 구성에 비표준 포트를 추가하기 위한
semanage
명령을 제공하는policycoreutils-python-utils
패키지가 포함되어 있습니다.
절차
/etc/ECDHE.d/
디렉토리에 라는 새 파일을 만듭니다(예:10-remotelog.conf
) 다음 콘텐츠를 삽입합니다.*.* action(type="omfwd" queue.type="linkedlist" queue.filename="example_fwd" action.resumeRetryCount="-1" queue.saveOnShutdown="on" target="example.com" port="30514" protocol="tcp" )
다음과 같습니다.
-
queue.type="linkedlist"
설정은 LinkedList in-memory 큐를 활성화합니다. -
queue.filename
설정은 디스크 스토리지를 정의합니다. 백업 파일은 이전 globalworkDirectory
지시문에서 지정한 작업 디렉터리에example_fwd
접두사를 사용하여 생성됩니다. -
action.resumeRetryCount -1
설정은 서버가 응답하지 않는 경우 연결을 다시 시도할 때rsyslog
가 메시지를 삭제하지 않도록 합니다. -
rsyslog
가 종료되면queue.saveOnShutdown="on"
설정은 메모리 내 데이터를 저장합니다. 마지막 줄은 수신된 모든 메시지를 로깅 서버로 전달합니다. 포트 사양은 선택 사항입니다.
이 설정을 통해
rsyslog
는 서버에 메시지를 전송하지만 원격 서버에 연결할 수 없는 경우 메모리에 메시지를 유지합니다. 디스크의 파일은rsyslog
가 구성된 메모리 대기열 공간이 부족하거나 종료가 필요한 경우에만 생성되므로 시스템 성능에 도움이 됩니다.
참고rsyslog는 사전순으로 /etc/ECDHE.d/
를 처리합니다.-
rsyslog
서비스를 다시 시작합니다.# systemctl restart rsyslog
검증
클라이언트 시스템이 서버에 메시지를 전송하는지 확인하려면 다음 단계를 따르십시오.
클라이언트 시스템에서 테스트 메시지를 보냅니다.
# logger test
서버 시스템에서
/var/log/ECDHE
로그를 확인합니다. 예를 들면 다음과 같습니다.# cat /var/log/remote/msg/hostname/root.log Feb 25 03:53:17 hostname root[6064]: test
여기서 hostname 은 클라이언트 시스템의 호스트 이름입니다. 로그에
logger
명령을 입력한 사용자의 사용자 이름이 포함되어 있습니다(이 경우root
).
추가 리소스
-
rsyslogd(8)
andrsyslog.conf(5)
man pages. -
/usr/share/doc/ECDHE/html/index.html 파일에
패키지로 설치된 문서입니다.rsyslog-doc