서버 설정 · 3 min read · Oct 06, 2025

우분투 18.04 LTS에서 Rsyslog 서버 설정하는 방법

로그는 리눅스에서 시스템 및 애플리케이션과 관련된 문제를 분석하고 해결하는 데 매우 유용합니다. 기본적으로 모든 로그 파일은 리눅스 기반 운영 체제의 /var/log 디렉토리 내에 위치합니다. 로그 파일의 종류에는 cron, kernel, users, security 등이 있으며, 이들 대부분은 Rsyslog 서비스에 의해 제어됩니다.

Rsyslog는 로그 처리를 위한 강력하고 안전한 시스템입니다. Rsyslog 서버는 여러 물리적 또는 가상 서버로부터 네트워크를 통해 로그를 수신하고 다양한 서비스의 상태를 모니터링합니다. Rsyslog 서버를 사용하면 중앙 집중식 위치에서 다른 서버, 네트워크 장치 및 원격 애플리케이션의 로그를 모니터링할 수 있습니다.

이 튜토리얼에서는 우분투 18.04 서버에서 Rsyslog 서버를 구성하는 방법을 설명합니다.

전제 조건

  • 우분투 18.04를 실행하는 두 개의 서버.
  • Rsyslog 서버 머신에 192.168.0.101의 정적 IP 주소가 구성되어 있고, Rsyslog 클라이언트 머신에 192.168.0.102가 구성되어 있습니다.
  • 두 서버 모두에 루트 비밀번호가 구성되어 있습니다.

Rsyslog 설치

기본적으로 Rsyslog는 우분투 18.04 서버에 설치되어 있습니다. 설치되지 않은 경우, 다음 명령어를 실행하여 설치할 수 있습니다:

apt-get install rsyslog -y

Rsyslog 설치 후, 다음 명령어로 Rsyslog의 버전을 확인할 수 있습니다:

rsyslogd -v

다음과 같은 출력이 나타나야 합니다:

rsyslogd 8.32.0, compiled with:
    PLATFORM:           x86_64-pc-linux-gnu
    PLATFORM (lsb_release -d): 
    FEATURE_REGEXP:         Yes
    GSSAPI Kerberos 5 support:  Yes
    FEATURE_DEBUG (debug build, slow code):     No
    32bit Atomic operations supported:  Yes
    64bit Atomic operations supported:  Yes
    memory allocator:       system default
    Runtime Instrumentation (slow code):    No
    uuid support:           Yes
    systemd support:        Yes
    Number of Bits in RainerScript integers: 64

See http://www.rsyslog.com for more information.

다음 명령어로 Rsyslog의 상태를 확인할 수도 있습니다:

systemctl status rsyslog

다음과 같은 출력이 나타나야 합니다:

? rsyslog.service - System Logging Service
   Loaded: loaded (/lib/systemd/system/rsyslog.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2019-10-22 04:28:55 UTC; 1min 31s ago
     Docs: man:rsyslogd(8)
           http://www.rsyslog.com/doc/
 Main PID: 724 (rsyslogd)
    Tasks: 4 (limit: 1114)
   CGroup: /system.slice/rsyslog.service
           ??724 /usr/sbin/rsyslogd -n

Oct 22 04:28:53 ubuntu1804 systemd[1]: Starting System Logging Service...
Oct 22 04:28:54 ubuntu1804 rsyslogd[724]: imuxsock: Acquired UNIX socket '/run/systemd/journal/syslog' (fd 3) from systemd.  [v8.32.0]
Oct 22 04:28:54 ubuntu1804 rsyslogd[724]: rsyslogd's groupid changed to 106
Oct 22 04:28:54 ubuntu1804 rsyslogd[724]: rsyslogd's userid changed to 102
Oct 22 04:28:54 ubuntu1804 rsyslogd[724]:  [origin software="rsyslogd" swVersion="8.32.0" x-pid="724" x-info="http://www.rsyslog.com"] start
Oct 22 04:28:55 ubuntu1804 systemd[1]: Started System Logging Service.

Rsyslog 서버 구성

이제 Rsyslog가 설치되고 실행되고 있습니다. 다음으로, 서버 모드로 실행되도록 구성해야 합니다. /etc/rsyslog.conf 파일을 편집하여 이를 수행할 수 있습니다.

nano /etc/rsyslog.conf

먼저, 프로토콜을 UDP 또는 TCP 또는 둘 다 정의해야 합니다.

UDP와 TCP 연결을 동시에 사용하려면 아래의 줄을 찾아 주석을 제거하십시오:

$ModLoad imudp
$UDPServerRun 514
$ModLoad imtcp
$InputTCPServerRun 514

다음으로, 접근을 제한하기 위해 특정 서브넷, IP 또는 도메인을 정의해야 합니다:

$AllowedSender TCP, 127.0.0.1, 192.168.0.0/24, *.example.com
$AllowedSender UDP, 127.0.0.1, 192.168.0.0/24, *.example.com

다음으로, Rsyslog 서버가 수신하는 syslog 메시지를 저장하는 방법을 알려주기 위해 템플릿을 생성해야 합니다. GLOBAL DIRECTIVES 섹션 바로 전에 다음 줄을 추가하십시오:

$template remote-incoming-logs, "/var/log/%HOSTNAME%/%PROGRAMNAME%.log" 
*.* ?remote-incoming-logs

작업이 끝나면 파일을 저장하고 닫습니다. 그런 다음, 다음 명령어로 Rsyslog 구성에 구문 오류가 있는지 확인하십시오:

rsyslogd -f /etc/rsyslog.conf -N1

다음과 같은 출력이 나타나야 합니다:

rsyslogd: version 8.32.0, config validation run (level 1), master config /etc/rsyslog.conf
rsyslogd: End of config validation run. Bye.

마지막으로, 다음 명령어로 Rsyslog 서비스를 재시작하십시오:

systemctl restart rsyslog

이제 다음 명령어로 Rsyslog가 TCP/UDP에서 수신 대기 중인지 확인하십시오:

netstat -4altunp | grep 514

다음과 같은 출력이 나타나야 합니다:

tcp        0      0 0.0.0.0:514             0.0.0.0:*               LISTEN      1332/rsyslogd       
udp        0      0 0.0.0.0:514             0.0.0.0:*                           1332/rsyslogd       

Rsyslog 클라이언트 구성

Rsyslog 서버가 설치되고 원격 호스트로부터 로그를 수신하도록 구성되었습니다.

이제 Rsyslog 클라이언트를 구성하여 원격 Rsyslog 서버에 syslog 메시지를 전송해야 합니다.

클라이언트 머신에 로그인하고 아래와 같이 Rsyslog 구성 파일을 엽니다:

nano /etc/rsyslog.conf

파일의 끝에 다음 줄을 추가하십시오:

##UDP를 통해 로그 전송 활성화: 다음 줄을 추가하십시오:
*.* @192.168.0.101:514

##TCP를 통해 로그 전송 활성화: 다음 줄을 추가하십시오:
*.* @@192.168.0.101:514

##Rsyslog 서버가 다운될 때 디스크 큐 설정:
$ActionQueueFileName queue
$ActionQueueMaxDiskSpace 1g
$ActionQueueSaveOnShutdown on
$ActionQueueType LinkedList
$ActionResumeRetryCount -1

파일을 저장하고 닫습니다. 그런 다음, 구성 변경 사항을 적용하기 위해 Rsyslog 서버를 재시작하십시오:

systemtcl restart rsyslog

클라이언트 로그 보기

이 시점에서 Rsyslog 클라이언트는 로그를 Rsyslog 서버로 전송하도록 구성되었습니다.

이제 Rsyslog 서버에 로그인하고 /var/log 디렉토리를 확인하십시오. 클라이언트 머신의 호스트 이름이 포함된 여러 로그 파일이 있는 항목을 볼 수 있어야 합니다:

ls /var/log/rsyslog-client/

출력:

CRON.log  kernel.log  rsyslogd-2039.log  rsyslogd.log  sudo.log  wpa_supplicant.log

결론

위의 기사에서는 우분투 18.04 서버에서 Rsyslog 서버를 설치하고 구성하는 방법을 배웠습니다. 또한 Rsyslog 클라이언트를 구성하여 로그를 Rsyslog 서버로 전송하는 방법도 배웠습니다. 질문이 있으면 언제든지 문의해 주세요.

Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.