반응형
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
반응형
'리눅스' 카테고리의 다른 글
| warning: setlocale: LC_CTYPE: cannot change locale (UTF-8): No such file or directory (0) | 2018.10.02 |
|---|---|
| RVM(Ruby Version Manager) 설치 및 Ruby 구성 방법 (0) | 2018.07.19 |
| CentOS 7에서 오라클 자바(Oracle JDK)를 설치하는 방법 (0) | 2018.06.25 |
| CentOS 7에서 Remi RPM 저장소를 사용하여 PHP 7.2를 설치하는 방법 (0) | 2018.06.19 |
| CentOS 6에 rsyslog 7을 설치하는 방법 (0) | 2018.06.08 |