14.3. TCP를 통한 원격 로깅을 위한 서버 구성
Rsyslog 애플리케이션을 사용하면 로깅 서버를 실행하고 개별 시스템을 구성하여 로그 파일을 로깅 서버로 보낼 수 있습니다. TCP를 통해 원격 로깅을 사용하려면 서버와 클라이언트를 둘 다 구성합니다. 서버는 하나 이상의 클라이언트 시스템에서 보낸 로그를 수집하고 분석합니다.
Rsyslog 애플리케이션을 사용하면 로그 메시지가 네트워크를 통해 서버로 전달되는 중앙 집중식 로깅 시스템을 유지 관리할 수 있습니다. 서버를 사용할 수 없을 때 메시지 손실을 방지하기 위해 전달 작업에 대한 작업 대기열을 구성할 수 있습니다. 이렇게 하면 보낼 수 없는 메시지는 서버에 다시 연결할 때까지 로컬에 저장됩니다. 이러한 큐는 UDP 프로토콜을 사용하여 연결에 대해 구성할 수 없습니다.
omfwd
플러그인은 UDP 또는 TCP를 통해 전달을 제공합니다. 기본 프로토콜은 UDP입니다. 플러그인이 내장되어 있으므로 로드할 필요가 없습니다.
기본적으로 rsyslog
는 포트 514
에서 TCP를 사용합니다.
사전 요구 사항
- rsyslog가 서버 시스템에 설치되어 있습니다.
-
서버에서
root
로 로그인했습니다. -
policycoreutils-python-utils
패키지는semanage
명령을 사용하여 선택적 단계에 대해 설치됩니다. -
firewalld
서비스가 실행 중입니다.
절차
선택 사항:
rsyslog
트래픽에 다른 포트를 사용하려면 포트 에syslogd_port_t
SELinux 유형을 추가합니다. 예를 들어 포트30514
를 활성화합니다.# semanage port -a -t syslogd_port_t -p tcp 30514
선택 사항:
rsyslog
트래픽에 다른 포트를 사용하려면 해당 포트에서 들어오는rsyslog
트래픽을 허용하도록firewalld
를 구성합니다. 예를 들어 포트30514
에서 TCP 트래픽을 허용하십시오.# firewall-cmd --zone=<zone-name> --permanent --add-port=30514/tcp success # firewall-cmd --reload
/etc/ECDHE.d/
디렉토리에 라는 새 파일을 만듭니다(예:remotelog.conf
) 다음 콘텐츠를 삽입합니다.# Define templates before the rules that use them # Per-Host templates for remote systems template(name="TmplAuthpriv" type="list") { constant(value="/var/log/remote/auth/") property(name="hostname") constant(value="/") property(name="programname" SecurePath="replace") constant(value=".log") } template(name="TmplMsg" type="list") { constant(value="/var/log/remote/msg/") property(name="hostname") constant(value="/") property(name="programname" SecurePath="replace") constant(value=".log") } # Provides TCP syslog reception module(load="imtcp") # Adding this ruleset to process remote messages ruleset(name="remote1"){ authpriv.* action(type="omfile" DynaFile="TmplAuthpriv") *.info;mail.none;authpriv.none;cron.none action(type="omfile" DynaFile="TmplMsg") } input(type="imtcp" port="30514" ruleset="remote1")
-
/etc/ECDHE.d/remotelog.conf
파일에 변경 사항을 저장합니다. /etc/ECDHE.conf 파일의 구문을 테스트합니다.
# rsyslogd -N 1 rsyslogd: version 8.1911.0-2.el8, config validation run... rsyslogd: End of config validation run. Bye.
로깅 서버에서
rsyslog
서비스가 실행 중이고 활성화되어 있는지 확인합니다.# systemctl status rsyslog
rsyslog
서비스를 다시 시작합니다.# systemctl restart rsyslog
선택 사항:
rsyslog
가 활성화되지 않은 경우 재부팅 후rsyslog
서비스가 자동으로 시작되는지 확인합니다.# systemctl enable rsyslog
이제 로그 서버가 해당 환경의 다른 시스템에서 로그 파일을 수신하고 저장하도록 구성되어 있습니다.
추가 리소스
-
rsyslogd(8)
,rsyslog.conf(5)
,semanage(8)
및firewall-cmd(1)
매뉴얼 페이지. -
/usr/share/doc/ECDHE/html/index.html 파일에
패키지로 설치된 문서입니다.rsyslog-doc