공유할 서비스 선택

TECH


TECH

OS Log를 한 곳에서 볼 수 있도록 Log Server 구성에 대해 알아보겠습니다.

페이지 정보

작성자 OSworker 아이디로 검색 전체게시물 댓글 0건 조회 548회 좋아요 0회 작성일 24-05-25 22:32

본문

안녕하세요. 

 

오늘은 로그 서버를 만들어 보려합니다. 

현재 로그서버 구성을 rsyslog로 사용하고 계신분도 있고, 다른 opensource 로 구성하신 분도 있겠지만 오늘은 

RHEL 에 있는 rsyslog로 구성해보도록하겠습니다. 

 

 

> 구성도 

 

centos79(centos7.9)               ------------ UDP 514 

192.168.100.101

                                                                    ================>   Log-Server(RHEL8.6)     /var/log/rsyslog 밑에 로그 쌓이게합니다. 

         192.168.100.100

rhel86-client(RHEL8.6)           ------------ UDP 514

192.168.100.102

 

 

1. 설정 

  - OS 설치 시 기본적으로 rsyslog가 설치되어있으니 설치 부분은 패스 하겠습니다. 

 

 

> Log-Server 설정 

 

# vim /etc/rsyslog.conf

----------------------------------------------------------------------------------

module(load="imudp")                 // UDP 로 통신하기 위함

input(type="imudp" port="514")    // UDP 514로 통신 

----------------------------------------------------------------------------------

 

. 추가설명

==================================

만약 TCP로 통신하기를 원하신다면 아래내용을 주석을 제거 해주시면 됩니다. 

 

#module(load="imtcp") # needs to be done just once

#input(type="imtcp" port="514")

==================================

 

 

- rsyslog 재 시작 하여 설정 적용

# systemctl restart rsyslog.service  

 

이렇게 하면 Log-Server 에서 로그를 받을수있는 상태가 됩니다. 

(단, selinux 나 Firewall 을 사용하신다면 당연히 방화벽 여는 작업을 해주셔야합니다.)

 

 

 

> Client Server (centos79,rhel86-client)

 

- centos79, rhel86-client 모두 아래와 같이 동일하게 설정해주시면 됩니다. 

 

# vim /etc/rsyslog.conf

----------------------------------------------------------------------------------

*.* @192.168.100.100:514  // 설정 파일 맨밑에 이와 같이 넣어주시면 됩니다. 

----------------------------------------------------------------------------------

 

.추가설명 

====================================================================

1) rsyslog.conf UDP 설정  

 

 *.* @192.168.100.100:514   

 

- UDP 전송: 단일 @는 UDP 프로토콜을 사용하여 로그 메시지를 전송함을 의미합니다.

- 비연결성: UDP는 비연결성 프로토콜로, 데이터그램을 독립적으로 전송합니다. 이 때문에 데이터 전송 시 연결 설정이 필요하지 않으며, 오버헤드가 적고 속도가 빠릅니다.

- 신뢰성 낮음: UDP는 신뢰성이 낮아 패킷이 손실될 수 있으며, 패킷의 순서를 보장하지 않습니다. 중요한 로그 전송에는 적합하지 않을 수 있습니다.

 

2) rsyslog.conf  TCP

 

*.* @@192.168.100.100:514   

 

- TCP 전송: 이중 @@는 TCP 프로토콜을 사용하여 로그 메시지를 전송함을 의미합니다.

- 연결성: TCP는 연결지향 프로토콜로, 송신자와 수신자 간에 연결을 설정하고 데이터를 전송합니다.

- 신뢰성 높음: TCP는 패킷의 손실을 감지하고 재전송을 요청하며, 데이터의 순서를 보장합니다. 따라서 중요한 로그 전송에 더 적합합니다.

====================================================================

 

- rsyslog 재 시작 하여 설정 적용

# systemctl restart rsyslog.service  

 

 

2. Log 확인 

 

> Log-Server

- 아래와 같이 log-server에서 /var/log/messages를 보면 'centos79'서버와 'rhel86-client' 가 모두 실시간으로 쌓이는것을 확인 할수있습니다. 

 

# less /var/log/messages

 

.......................

..........................

 

May 22 07:11:22 centos79 NetworkManager[853]: <info>  [1716376282.3013] dhcp4 (eth0):   address 192.168.100.101

May 22 07:11:22 centos79 NetworkManager[853]: <info>  [1716376282.3014] dhcp4 (eth0):   plen 24 (255.255.255.0)

May 22 07:11:22 centos79 NetworkManager[853]: <info>  [1716376282.3014] dhcp4 (eth0):   gateway 192.168.100.1

May 22 07:11:22 centos79 NetworkManager[853]: <info>  [1716376282.3014] dhcp4 (eth0):   lease time 3600

May 22 07:11:22 centos79 NetworkManager[853]: <info>  [1716376282.3014] dhcp4 (eth0):   hostname 'centos79'

May 22 07:11:22 centos79 NetworkManager[853]: <info>  [1716376282.3014] dhcp4 (eth0):   nameserver '192.168.100.1'

May 22 07:11:22 centos79 NetworkManager[853]: <info>  [1716376282.3014] dhcp4 (eth0): state changed bound -> bound

......................

..........................

May 22 19:52:33 log-server systemd[1]: Stopping System Logging Service...

May 22 19:52:33 log-server rsyslogd[2924]: [origin software="rsyslogd" swVersion="8.2102.0-7.el8" x-pid="2924" x-info="https://www.rsyslog.com"] exiting on signal 15.

May 22 19:52:33 log-server systemd[1]: rsyslog.service: Succeeded.

May 22 19:52:33 log-server systemd[1]: Stopped System Logging Service.

May 22 19:52:33 log-server systemd[1]: Starting System Logging Service...

......................

.......................

May 22 21:10:05 rhel86-client systemd[1]: Starting system activity accounting tool...

May 22 21:10:05 rhel86-client systemd[1]: sysstat-collect.service: Succeeded.

May 22 21:10:05 rhel86-client systemd[1]: Started system activity accounting tool.

..........................

.......................

..........................

 

 

3. 서버별 로그저장 설정

 

하지만, 이렇게 하면 messages파일이 너무 커지고  한 파일에서 여러 서버 로그를 보는것이 매우 힘들어 집니다. 그래서 지금부터 보기편하게 

서버별 폴더에 저장을 하고 로그레벨을 정해서 모든 로그를 저장 안하게 설정해보겠습니다. 

 

> Client Server 설정 (centos79,rhel86-client)

 - centos79, rhel86-client 모두 아래와 같이 동일하게 설정해주시면 됩니다. 

 

# vim /etc/rsyslog.conf 

#*.* @192.168.100.100:514  

*.err @192.168.100.00:514 // err 로그 이상의 로그만 남기게 설정 

 

- rsyslog 재 시작 하여 설정 적용

# systemctl restart rsyslog.service  

 

 

#### 설명 ####

debug (7) 애플리케이션이 발생시킨 디버깅에 유용한 정보

info(6) 관리자의 간섭이 전혀 필요 없는 단순한 정보 전달용 메시지

notice(5) 에러는 아니지만 평소와 다른 현상이 발생해 주의가 필요한 경우의 메시지

warning(4)  조치가 없는 경우 에러가 발생할 수 있는 경고 메시지

err(3) 에러가 발생한 경우 메시지                          <<<<<<<<<<<<< 설정한 Level

crit(2)  매우 위험한 상황인 경우의 메시지

alert(1) 즉각적인 관리자의 조치가 필요한 상황인 경우의 메시지 

emerg(0) 시스템을 사용할 수 없을 정도로 비상 상황인 경우 메시지

 

*.* 으로 하면 info 부터 받게 됩니다. 

 

 

> log-server 설정  

 

# vim /etc/rsyslog.conf

 

#### RULES ####

# syslog 수신 시 저장할 위치 및 파일 설정 템플릿

$template Remote,"/var/log/rsyslog/%fromhost-ip%/%$YEAR%-%$MONTH%-%$DAY%.log" 

 

# syslog 수신 시 fromhost-ip가 127.0.0.1이 아닌 경우 템플릿 Remote 정책을 적용

:fromhost-ip, !isequal, "127.0.0.1" ?Remote

 

# 템플릿 Remote로 수신한 경우 로그 처리 중지

# 중지하지 않을 경우, OS에서 수집하는 syslog나 message에도 로그가 수집 됨 (중복 수집 됨)

& stop

 

- rsyslog 재 시작 하여 설정 적용

# systemctl restart rsyslog.service  

 

 

- 폴더 확인 

# ls -l /var/log/rsyslog/

192.168.100.101  192.168.100.102

 

# less 192.168.100.102/2024-05-22.log

 

May 22 21:10:05 rhel86-client systemd[1]: Starting system activity accounting tool...

May 22 21:10:05 rhel86-client systemd[1]: sysstat-collect.service: Succeeded.

May 22 21:10:05 rhel86-client systemd[1]: Started system activity accounting tool.

...........

..........  // 이제부터는 err 로그이상의 로그만 생성되므로 현재는 설정 변경 후 로그가 없었습니다. 

 

 

 

이렇게 각 서버별 폴더를 생성하여, 로그를 저장 할수있습니다. 이렇게 되면 각 운영서버에서 로그를 확인 하지 않고, 

로그서버에서 각 서버들 로그를 확인할수있습니다. 

 

긴글 봐주셔서 감사합니다. 

 

 

참고 링크 

https://access.redhat.com/solutions/5953021

https://access.redhat.com/solutions/7021090

https://access.redhat.com/documentation/ko-kr/red_hat_enterprise_linux/7/html-single/system_administrators_guide/index#s1-basic_configuration_of_rsyslog

https://dirt-spoon.tistory.com/56

https://tech.osci.kr/%EB%A6%AC%EB%88%85%EC%8A%A4-%EC%8B%9C%EC%8A%A4%ED%85%9C-%EB%A1%9C%EA%B7%B8-2%ED%8E%B8-%EC%83%81%ED%99%A9%EC%97%90-%EB%A7%9E%EA%B2%8C-%EA%B4%80%EB%A6%AC%ED%95%B4%EB%B3%B4%EC%9E%90/

https://jungtak.tistory.com/278

https://m.blog.naver.com/forioso/220940978934

댓글목록

등록된 댓글이 없습니다.

TECH 목록
번호 제목 작성자 작성일 조회수
219 Middleware 미들웨어 아이디로 검색 전체게시물 07-22 29
(오픈소스 활용-33) "ISTIO 이스티오" 쿠버네티스 서비스 시각화 구현에 필요한 데모설치

카테고리 : Middleware

29 0
작성자 : 미들웨어 24/07/22
218 OS OSworker 아이디로 검색 전체게시물 07-21 50
RHEL7.9 가 2028년 6월30일까지 지원되시는거 아시나요? #ELS

카테고리 : OS

50 0
작성자 : OSworker 24/07/21
217 OS OSworker 아이디로 검색 전체게시물 07-10 140
[보안취약점] OpenSSH의 서버(sshd)에서 보안 회귀(CVE-2006-5051)가 발견되었습니다.

카테고리 : OS

140 0
작성자 : OSworker 24/07/10
216 Middleware 미들웨어 아이디로 검색 전체게시물 07-10 74
(Apache) mod_wl.so 에서 sticky session 사용방법 정리

카테고리 : Middleware

74 0
작성자 : 미들웨어 24/07/10
215 OS OSworker 아이디로 검색 전체게시물 06-29 131
CVE, RHSA, RHBA 의 대해 아시나요?

카테고리 : OS

131 0
작성자 : OSworker 24/06/29
214 Middleware 미들웨어 아이디로 검색 전체게시물 06-24 142
(오픈소스 활용-32) Apache Kafka 란? 다운로드 및 샘플 소개

카테고리 : Middleware

142 0
작성자 : 미들웨어 24/06/24
213 OS OSworker 아이디로 검색 전체게시물 06-23 231
Red Hat Enterprise Linux 8.10 에 대해 간략하게 알아보겠습니다.~

카테고리 : OS

231 0
작성자 : OSworker 24/06/23
212 OS OSworker 아이디로 검색 전체게시물 06-09 356
패키지의 변경 로그를 보는 방법에 대해 아시나요? #chagelog

카테고리 : OS

356 0
작성자 : OSworker 24/06/09
211 Middleware 미들웨어 아이디로 검색 전체게시물 06-07 338
(Apache) Apache & Webtier에서 Nginx와 동일한 비동기 방식 처리 하기 (MPM-event)

카테고리 : Middleware

338 0
작성자 : 미들웨어 24/06/07
열람중 OS OSworker 아이디로 검색 전체게시물 05-25 549
열람중
Log를 한 곳에서 볼 수 있도록 Log Server 구성에 대해 알아보겠습니다.

카테고리 : OS

549 0
작성자 : OSworker 24/05/25
Total 219건
게시물 검색

주식회사 클럭스| 대표 : 이찬호| 사업자등록번호 : 107-87-27655
주소 : 서울특별시 영등포구 국회대로 800, 여의도파라곤
E-mail : sales@chlux.co.kr
Copyright © 클럭스 www.chlux.co.kr All rights reserved.
상단으로Top