공유할 서비스 선택

TECH


TECH

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

페이지 정보

작성자 OSworker 아이디로 검색 전체게시물 댓글 0건 조회 283회 좋아요 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 목록
번호 제목 작성자 작성일 조회수
212 OS OSworker 아이디로 검색 전체게시물 06-09 67
패키지의 변경 로그를 보는 방법에 대해 아시나요? #chagelog

카테고리 : OS

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

카테고리 : Middleware

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

카테고리 : OS

284 0
작성자 : OSworker 24/05/25
209 Middleware 미들웨어 아이디로 검색 전체게시물 05-21 244
(오픈소스 활용-31) (부하테스트 Tool) Jmeter 를 활용한 JDBC 부하테스트 방법 -2

카테고리 : Middleware

244 0
작성자 : 미들웨어 24/05/21
208 OS OSworker 아이디로 검색 전체게시물 05-19 237
OS내에 있는 stress-ng 도구를 사용하여 CPU, 메모리, HDD에 동시에 스트레스를 주는 방법을 안내해 드리겠습니다.

카테고리 : OS

237 0
작성자 : OSworker 24/05/19
207 OS OSworker 아이디로 검색 전체게시물 05-12 257
Red Hat Enterprise Linux 9.4 에 대해 간략하게 알아가는 시간~!!!!

카테고리 : OS

257 0
작성자 : OSworker 24/05/12
206 Middleware 미들웨어 아이디로 검색 전체게시물 05-07 350
(오픈소스 활용-30) (부하테스트 Tool) Jmeter 를 활용한 JDBC 부하테스트 방법 -1

카테고리 : Middleware

350 0
작성자 : 미들웨어 24/05/07
205 Middleware 미들웨어 아이디로 검색 전체게시물 04-22 299
(오픈소스 활용-29) was에서 T4CConnection (Locked) 발생시 해결방법

카테고리 : Middleware

299 0
작성자 : 미들웨어 24/04/22
204 OS OSworker 아이디로 검색 전체게시물 04-20 252
Diagram, Architect 등 서버의 구성에 대해 그림그리실때 무엇을 사용하시나요?

카테고리 : OS

252 0
작성자 : OSworker 24/04/20
203 OS OSworker 아이디로 검색 전체게시물 04-14 316
[교육] RH174 : Managing CentOS Migrations and RHEL Upgrades

카테고리 : OS

316 0
작성자 : OSworker 24/04/14
Total 212건
게시물 검색

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