본문 바로가기
리눅스

[Linux] rsyslog 설정 및 관리

by 공대냥이 2018. 10. 26.
반응형

 

 

 

 

 

syslog 동작방식

 

유닉스 시스템은 (r)syslog 표준 인터페이스를 통해 커널 및 응용 프로그램에 의해 발생하는 로그를 체계적으로 생성하고 관리한다.

 

커널 및 응용 프로그램이 (r)syslog API를 통해 로그를 생성하면 (r)syslogd 데몬 프로세스가 (r)syslog.conf 설정 파일을 참조하여 지정한 로그 파일, 콘솔 또는 외부 서버 등에 로그를 기록한다.

 

/etc/(r)syslog.conf 파일은 시스템 로그 데몬이 실행될 때 참조되는 로그 설정 파일로서 어떤 로그를 어디에 남길지 로그 저장 규칙이 정의되어 있다. 포맷은 아래와 같다.

 

facility.priority; facility.priority; facility.priority; 

   A   .   B           A   .   B          A   .   B  
··· ···
action(logfile-location)
           C

A 서비스(데몬)에 대하여 B로그 레벨 이상의 상황이 발생한 경우 C의 형식(파일, 콘솔, 외부서버 등)으로 로그를 남기라는 의미

 

facility : 로그 생성 서비스

* :  모든 서비스

authpriv : 인증 및 보안 관련 메시지
cron : cron 데몬과 atd데몬에 의해 발생되는 메시지
daemon : telnet, ftp 등과 같은 데몬에 의한 메시지
kern : kernel에 의한 메시지
lpr : 프린터 데몬인 lpd에 의해 발생되는 메시지
mail : sendmail, pop, qmail 등의 메일 시스템에서 발생되는 메시지
news : USENET 등과 같은 뉴스시스템에 의해 발생되는 메시지
user : 사용자에 의해 생성된 프로세스
syslog : syslogd에 의해 발생되는 메시지
local0 ~ local7 : 시스템 부팅 메시지 기록, 기타 여분 서비스에 사용하기 위함

 

 

 

priority : 로그 수준(Level)

높음    

 ㆍ           emerg : 시스템이 전면 중단되는 패닉상태, 전체 공지가 필요한 상황

            alert : 즉각적인 조치가 필요한 상황 (action must be taken immediately)

            crit : 하드웨어 등의 심각한 오류가 발생한 상황 (critical condition)

중간          err : 일반적인 에러/오류가 발생한 상황

            warning : 경고 메시지

            notice : 에러/오류는 아니지만 관리자의 조치가 필요한 상황

            info : 의미 있는 정보 관련 메시지

 ㆍ           debug : 디버깅용 메시지

낮음          

facility에 로그 수준을 지정하게 되면 해당 수준이상의 상황이 발생했을 때 로그가 남게 된다.

(r)syslog.conf에 로그 수준을 " * " 로 지정하면 모든 로그 수준의 로그를 남기겠다는 의미이며, "none"으로 설정하면 어떠한 경우라도 로그를 남기지 않겠다는 의미이다.

 

 

action

로그를 어디에 남길 것인지를 결정한다. 로그 파일, 콘솔, 원격 로그 서버, 특정 사용자 등에 로그를 남길 수 있다.

ㆍ로그 파일 : 파일명(경로) 지정 ex) /var/log/messages

ㆍ콘솔 : /dev/console로 지정 시 콘솔 출력

ㆍ원격 로그 서버 : "@호스트 주소"를 통해 지정한 호스트로 로그를 보낸다 ex) @192.168.56.3

ㆍuser : 지정된 사용자의 스크린으로 메시지를 보낸다

ㆍ* : 현재 로그인 되어있는 모든 사용자의 스크린으로 메시지를 보낸다 

 

 

 

 

 

 

반응형