서버 설정 · 2 min read · Nov 15, 2025
Debian 11에서 Rsyslog 서버 설정하는 방법

Rsyslog는 모든 로그 파일을 IP 네트워크를 통해 중앙 집중식 로그 서버로 전달하는 무료 오픈 소스 로깅 소프트웨어입니다. 시스템 관리자가 중앙 지점에서 모든 서버를 모니터링하는 데 도움이 됩니다. Rsyslog는 클라이언트/서버 모델로 작동하며, TCP/UDP 프로토콜을 통해 포트 514에서 원격 클라이언트로부터 로그를 수신합니다.
이 게시물에서는 Debian 11에서 Rsyslog 서버를 설정하는 방법을 보여드리겠습니다.
전제 조건
- Debian 11을 실행하는 두 개의 서버.
- 서버에 루트 비밀번호가 설정되어 있어야 합니다.
Rsyslog 설치
먼저, 서버 머신에 Rsyslog 서버 패키지를 설치해야 합니다. 다음 명령어를 사용하여 설치할 수 있습니다:
apt-get install rsyslog -y설치 후, 다음 명령어를 사용하여 Rsyslog 상태를 확인합니다:
systemctl status rsyslog다음과 같은 출력이 표시되어야 합니다:
? rsyslog.service - System Logging Service
Loaded: loaded (/lib/systemd/system/rsyslog.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2021-10-03 13:35:32 UTC; 1h 44min ago
TriggeredBy: ? syslog.socket
Docs: man:rsyslogd(8)
man:rsyslog.conf(5)
https://www.rsyslog.com/doc/
Main PID: 283 (rsyslogd)
Tasks: 4 (limit: 2341)
Memory: 5.0M
CPU: 90ms
CGroup: /system.slice/rsyslog.service
??283 /usr/sbin/rsyslogd -n -iNONE
Oct 03 13:35:32 debian11 systemd[1]: Starting System Logging Service...
Oct 03 13:35:32 debian11 rsyslogd[283]: imuxsock: Acquired UNIX socket '/run/systemd/journal/syslog' (fd 3) from systemd. [v8.2102.0]
Oct 03 13:35:32 debian11 rsyslogd[283]: [origin software="rsyslogd" swVersion="8.2102.0" x-pid="283" x-info="https://www.rsyslog.com"] start
Oct 03 13:35:32 debian11 systemd[1]: Started System Logging Service.
Oct 03 13:35:34 debian11 systemd[1]: rsyslog.service: Sent signal SIGHUP to main process 283 (rsyslogd) on client request.
Oct 03 13:45:33 debian11 rsyslogd[283]: [origin software="rsyslogd" swVersion="8.2102.0" x-pid="283" x-info="https://www.rsyslog.com"] rsyslog>
Rsyslog 구성
다음으로, Rsyslog를 서버 모드로 실행하도록 구성해야 합니다. Rsyslog 주요 구성 파일을 편집하여 수행할 수 있습니다:
nano /etc/rsyslog.conf다음 줄의 주석을 제거합니다:
# provides UDP syslog reception
module(load="imudp")
input(type="imudp" port="514")
# provides TCP syslog reception
module(load="imtcp")
input(type="imtcp" port="514")
다음으로, 클라이언트 시스템에서 들어오는 로그를 저장하기 위한 템플릿을 정의하는 다음 줄을 추가합니다:
$template remote-incoming-logs,"/var/log/%HOSTNAME%/%PROGRAMNAME%.log"
*.* ?remote-incoming-logs
파일을 저장하고 닫은 후, 변경 사항을 적용하기 위해 Rsyslog 서비스를 재시작합니다:
systemctl restart rsyslog이 시점에서 Rsyslog가 시작되고 포트 514에서 수신 대기하고 있습니다. 다음 명령어를 사용하여 확인할 수 있습니다:
ss -tunlp | grep 514다음과 같은 출력이 표시되어야 합니다:
udp UNCONN 0 0 0.0.0.0:514 0.0.0.0:* users:(("rsyslogd",pid=26276,fd=6))
udp UNCONN 0 0 [::]:514 [::]:* users:(("rsyslogd",pid=26276,fd=7))
tcp LISTEN 0 25 0.0.0.0:514 0.0.0.0:* users:(("rsyslogd",pid=26276,fd=8))
tcp LISTEN 0 25 [::]:514 [::]:* users:(("rsyslogd",pid=26276,fd=9))
Rsyslog 방화벽 구성
다음으로, UFW 방화벽을 통해 포트 514를 허용해야 합니다. 다음 명령어로 허용할 수 있습니다:
ufw allow 514/tcp
ufw allow 514/udp다음으로, 변경 사항을 적용하기 위해 방화벽을 다시 로드합니다:
ufw reloadRsyslog 클라이언트 구성
다음으로, Rsyslog 클라이언트를 구성하여 로그 파일을 Rsyslog 서버로 전송해야 합니다. Rsyslog 주요 구성 파일을 편집하여 수행할 수 있습니다.
nano /etc/rsyslog.conf파일 끝에 다음 줄을 추가합니다:
#Enable sending system logs over UDP to rsyslog server
*.* @rsyslog-server-ip:514
#Enable sending system logs over TCP to rsyslog server
*.* @@rsyslog-server-ip:514
또한, Rsyslog 서버가 다운될 때 디스크 큐를 설정하기 위해 다음 줄을 추가합니다:
$ActionQueueFileName queue
$ActionQueueMaxDiskSpace 1g
$ActionQueueSaveOnShutdown on
$ActionQueueType LinkedList
$ActionResumeRetryCount -1
파일을 저장하고 닫은 후, 변경 사항을 적용하기 위해 Rsyslog 서비스를 재시작합니다:
systemctl restart rsyslog클라이언트의 로그 파일 확인
모든 클라이언트의 로그 파일은 서버 머신의 /var/log 디렉토리에 저장됩니다.
다음 명령어로 확인할 수 있습니다:
ls -l /var/log/클라이언트 시스템의 호스트 이름에 해당하는 클라이언트의 로그 파일이 표시되어야 합니다:
alternatives.log auth.log.2.gz daemon.log debian11
dpkg.log kern.log.1 messages.1 private syslog.3.gz
clientpc auth.log.3.gz daemon.log.1 debug
dpkg.log.1 kern.log.2.gz messages.2.gz runit syslog.4.gz
apt btmp daemon.log.3.gz debug.2.gz icinga2 kern.log.4.gz messages.4.gz syslog
auth.log.1 csm.log dbconfig-common debug.4.gz kern.log messages ntpstats syslog.2.gz
보시다시피, clientpc는 클라이언트 시스템의 로그 디렉토리입니다.
결론
위 가이드에서는 Debian 11에서 Rsyslog 서버와 클라이언트를 설정하는 방법을 설명했습니다. 이제 중앙 위치에서 클라이언트를 모니터링할 수 있습니다. 질문이 있으시면 언제든지 문의해 주세요.
새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.