본문 바로가기

리눅스

rsyslog 기반 중앙 로그(Syslog) 서버 구축

반응형

rsyslog 기반 중앙 로그(Syslog) 서버 구축

리눅스 환경에서 rsyslog를 이용하여 중앙 집중형 로그 서버(Syslog Server)를 구축하는 방법입니다.

1. 구성 아키텍처

[ Linux Servers ]
        ↓
   rsyslog Client
        ↓
 UDP/TCP 514
        ↓
+------------------+
|  Syslog Server   |
|    rsyslog       |
+------------------+
        ↓
/apps/syslog/YYYY/IP/

2. rsyslog 패키지 설치

RHEL/Rocky Linux/CentOS

dnf install -y rsyslog

또는

yum install -y rsyslog

Ubuntu/Debian

apt update
apt install -y rsyslog

3. rsyslog 서비스 활성화

systemctl enable --now rsyslog

상태 확인

systemctl status rsyslog

4. 로그 저장 디렉터리 생성

원격 로그를 저장할 디렉터리를 생성한다.

mkdir -p /apps/syslog

권한 설정

chmod 755 /apps/syslog

5. rsyslog 서버 설정

설정 파일 생성

vim /etc/rsyslog.d/rsyslog-server.conf
#################################################
# rsyslog Central Syslog Server Configuration
#################################################

############################
# UDP Syslog Reception
############################
module(load="imudp")
input(type="imudp" port="514")

############################
# TCP Syslog Reception
############################
module(load="imtcp")
input(type="imtcp" port="514")

############################
# Remote Log File Template
############################
template(name="RemoteHost"
         type="string"
         string="/apps/syslog/%$year%/%fromhost-ip%/%fromhost-ip%-%$year%%$month%%$day%%$hour%00-%$year%%$month%%$day%%$hour%59.log")

############################
# Save Remote Logs
############################
*.* ?RemoteHost

설정 설명

  • imudp UDP Syslog 수신 모듈
  • imtcp TCP Syslog 수신 모듈
  • port="514" Syslog 기본 포트
  • %fromhost-ip% 로그 송신 서버 IP
  • %$year% 연도 디렉터리 생성
  • %$hour% 시간 단위 로그 파일 생성
728x90

로그 저장 구조

/apps/syslog/
└── 2026
    └── 192.168.10.20
        ├── 192.168.10.20-202605081000-202605081059.log
        ├── 192.168.10.20-202605081100-202605081159.log
        └── 192.168.10.20-202605081200-202605081259.log

rsyslog 설정 검증

  • 설정 오류 확인
rsyslogd -N1
rsyslogd: End of config validation run. Bye.

rsyslog 재시작

systemctl restart rsyslog

재시작 후 포트 확인

ss -antup | grep 514
udp   UNCONN 0 0 *:514 *:*
tcp   LISTEN 0 128 *:514 *:*

6. Client 설정

원격 서버(Client)에서 중앙 Syslog 서버로 로그 전송

vim /etc/rsyslog.d/remote.conf
*.info;mail.none;authpriv.none;cron.none    @@192.168.10.100:514

설명

  • @ : UDP
  • @@ : TCP

rsyslog 재시작

systemctl restart rsyslog

7. 로그 수신 테스트

Client 서버에서

logger "Test Syslog Message"

Syslog 서버에서

find /apps/syslog -type f | xargs tail
May 10 14:10:01 web01 root: Test Syslog Message

 

참고URL

- https://www.fibrevillage.com/sysadmin/221-rsyslog-rules-examples-on-linux

- https://www.rsyslog.com/doc/master/configuration/properties.html

 

728x90
반응형