공유할 서비스 선택

TECH


TECH

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

페이지 정보

작성자 OSworker 아이디로 검색 전체게시물 댓글 0건 조회 952회 좋아요 1회 작성일 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 목록
번호 제목 작성자 작성일 조회수
233 OS OSworker 아이디로 검색 전체게시물 11-27 56
Red Hat Enterprise Linux 9에서 root 사용자로 SSH 로그인 활성화 하는 방법

카테고리 : OS

56 0
작성자 : OSworker 24/11/27
232 OS OSworker 아이디로 검색 전체게시물 11-17 126
RHEL 9.5 가 11월 12일에 릴리즈 되었습니다. 간략하게 살펴보시죠~

카테고리 : OS

126 0
작성자 : OSworker 24/11/17
231 OS OSworker 아이디로 검색 전체게시물 11-10 132
어떤 프로세스 어떤 이유로 인해 성능에 문제가 생겼을때 perf로 그 문제를 찾아보세요.

카테고리 : OS

132 0
작성자 : OSworker 24/11/10
230 OS OSworker 아이디로 검색 전체게시물 10-31 188
AI에 대한 관심이 많습니다. 혹시 RHEL AI에 대해 들어보셨나요?

카테고리 : OS

188 0
작성자 : OSworker 24/10/31
229 OS OSworker 아이디로 검색 전체게시물 10-24 196
Fedora와 Red Hat Enterprise Linux의 차이점

카테고리 : OS

196 0
작성자 : OSworker 24/10/24
228 OS OSworker 아이디로 검색 전체게시물 10-11 234
audit 로그에 저장된 time 을 날짜/시간 으로 변경하여 보는법

카테고리 : OS

234 0
작성자 : OSworker 24/10/11
227 OS OSworker 아이디로 검색 전체게시물 09-29 372
[보안취약점]"RHSB-2024-002 - OpenPrinting cups-filters"에 대해 설명드리고자합니다.

카테고리 : OS

372 0
작성자 : OSworker 24/09/29
226 OS OSworker 아이디로 검색 전체게시물 09-25 463
누가 설정파일을 수정했는지 알고싶어요? 그럼 audit를 사용해보세요~!

카테고리 : OS

463 0
작성자 : OSworker 24/09/25
225 OS OSworker 아이디로 검색 전체게시물 09-15 349
RHEL6.10 앞으로 어떻게 되나요? 아직도 RHEL6버전을 사용하신다구요?

카테고리 : OS

349 0
작성자 : OSworker 24/09/15
224 OS OSworker 아이디로 검색 전체게시물 08-30 467
SWAP이 왜 자꾸 사용하게 될까요? 누가 사용하는것일까요?

카테고리 : OS

467 0
작성자 : OSworker 24/08/30
Total 233건
게시물 검색

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