[CentOS 8] 시스템 로그

1. 시스템 로그

주요 시스템 로그는 /var/log/message, /var/log/secure, /var/log/cron, /var/log/dmesg 등이 있다.

/var/log/messages : 시스템 표준 에러관련 메세지가 기록된다.

/var/log/secure : 원격 접속과 관련하여 언제 어디서 어떤 서비스를 사용했는지 기록한다.

/var/log/cron : cron 데몬이 실행했던 작업을 기록한다.

/var/log/dmesg : 시스템이 부팅될 때 출력되었던 메세지가 기록된다.

2. syslogd 설정

대부분의 로그는 syslogd 데몬이 관리하며, 설정파일은 /etc/rsyslog.conf 이다.

MODULES 섹션은 사용할 모듈을 지정하며, 이러한 모듈은 /usr/lib64/rsyslog 디렉토리에 있다.

GLOBAL DIRECTIVES 섹션은 rsyslog 데몬 전체에 적용되는 내용을 설정한다.

RULES 섹션은 저장될 로그의 종류와 위치를 지정한다. 형식은 facility.level action 이다.

facility는 메세지를 발생시키는 프로그램 유형을 의미한다.

facility 설명
kern(0) 커널이 발생한 메세지
user(1) 사용자 프로세스
mail(2) 메일 시스템이 발생한 메세지
daemon(3) 데몬이 발생한 메세지
auth(4) 인증 프로그램 유형이 발생한 메세지
syslog(5) syslog가 발생한 메세지
lpr(6) 프린트 유형의 프로그램이 발생한 메세지
news(7) 유즈넷 뉴스 프로그램이 발생한 메세지
uucp(8) UUCP 시스템이 발생한 메세지
cron(9) cron, at 과 같은 프로그램이 발생한 메세지
authprive(10) 개인 인증을 요하는 프로그램이 발생한 메세지
local0-local7(16~23) 여분으로 남겨둔 유형

facility 뒤에 .none 이 붙으면 해당 facility는 제외하겠다는 의미이다. 예를 들어 mail.none 은 메일 관련 메세지를 제외한다는 의미이다.

level은 위험 정도를 가리키며, 설정된 위험의 정도보다 높아야 메세지를 보낸다.

level 설명
debug(7) 프로그램을 디버길할 때 발생하는 메세지
info(6) 통계, 기본정보 메세지
notice(5) 특별한 주의를 요하나 에러는 아닌 메세지
warning(4) 주의를 요하는 경고 메세지
err(3) 에러가 발생하는 경우의 메세지
crit(2) 크게 급하지는 않지만 시스템에 문제가 생기는 단계의 메세지
alert(1) 즉각적인 조정을 해야 하는 상황
emerge(0) 모든 사용자들에게 전달되어야 할 위험한 상황

레벨 앞에 ‘=’을 사용할 경우 해당 레벨의 위험도와 같은 경우를 의미한다.

action은 메세지를 보낼 목적이나 행동들에 관한 설정이다.

action 설명
파일 경로 해당 파일에 내용을 추가
@host 지정된 호스트로 메세지 전송
user 지정된 사용자의 스크린으로 메세지 전송
* 현재 로그인되어 있는 모든 사용자의 스크린으로 메세지 전송

예시는 다음과 같다.

*.=crit;kern.none /var/log/critical : 커널을 제외한 모든 facility가 발생시키는 것 중에서 crit 레벨과 같은 수준의 메세지를 /var/log/critical 파일에 저장한다.

*.emerge * : 모든 facility에서 발생한 emerge 이상 레벨의 메세지를 로그인한 모든 사용자의 스크린에 전송한다.

3. 원격 로그 전송

Slave에서 발생한 로그를 Master로 전송한다.

Master

rsyslog 를 시작하고 514번 포트 udp tcp를 방화벽에서 해제한다. /etc/rsyslog.conf 에서 imjournal 모듈이 실행되도록 한다.

Slave

/etc/rsyslog.conf 에 전송하고 싶은 RULE을 설정한다. e.g.) *.* @192.168.111.100

이제 Slave의 로그가 마스터의 /var/log/messages 에 출력된다.

카테고리:

업데이트:

댓글남기기