728x90

Syslog

개요 
Syslog 란 로깅 메세지 프로그램의 표준이다. Syslog는 다양한 프로그램들이 생성하는 메세지들을 저장하고, 이 들 메세지들을 이용해서 다양한 분석 등이 가능하도록 로그 메세지들을 제공한다. Syslog는 프로그램 뿐만 아니라 device와 같은 장비들도 Syslog를 사용할 수 있도록 제공한다. 관리자들은 device 장비에서의 로그 메세지들을 통해 문제사항이나, 성능 등을 확인할 수 있다.

Syslog는 컴퓨터 시스템의 관리, 보안 알림 뿐만 아니라 일반적인 정보, 분석, 디버깅 메세지 등을 제공해준다. 프린터나 라우터와 같은 다양한 장비 뿐만 아니라 다양한 플랫폼을 지원한다. 이런 이유로 syslog는 중앙 저장소에 다양한 타입의 시스템들의 로그 데이터의 저장소로 사용되기도 한다. 

Syslog에서는 메세지를 생성해내는 주체(facility)에 따라 다음과 같이 나눈다. (auth, authpriv, daemon, cron, ftp, lpr, kern, mail, news, syslog, user, uucp, local0.. local7) 그리고 메세지의 우선순위 / 메세지 중요도(level)에 따라 다음과 같이 나뉘어 진다. (Emergency, Alert, Critical, Error, Warning, Notice, Info or Debug). 

Syslog의 설정을 통해 로컬 디바이스 혹은 파일 및 심지어 다른 시스템의 Syslog Daemon에도 로그 메세지들을 전달할 수 있다. 이 때에 한 가지 주의해야 할 점은 설정 파일의 facility나 level을 잘못 설정 해서 중요한 메세지들을 제대로 써지지 않아 로그 메세지들을 모두 놓쳐 버릴 수도 있으니, 조심해야한다. 

logger라는 명령어를 통해 syslog에 특정 메세지를 보낼 수도 있다. 

syslog는 Syslog working 그룹인 IETF에서의 표준으로 지정되기도 하였다. 

역사 
Syslog는 1980년대 Eric Allman이라는 사람이 send mail 프로젝트의 한 부분으로 개발 되었다. Syslog가 개발된 이후로 Unix나 Unix 계열의 많은 시스템에서 로깅의 표준이 되었다. 다른 운영체제 시스템의 로그 체제를 위한 근간이 되기도 했으며, 라우터와 같은 네트워크 장비에도 사용되고 있는 것을 확인할 수 있다. 

Syslog 설정
Syslog에서는 크게 두 가지의 중요 개념이 있는데, 이들이 위에서 설명한 facility와 level 이다. 우선 설정 파일의 예를 통해 살펴 보도록 하자. 

Syslog의 설정 파일은 /etc/syslog.conf, 우분투 혹은 데비안 시스템의 경우 /etc/rsyslog.conf 파일에서 찾아 볼 수 있다.

< rsyslog는 데비안 리눅스가 etch에서 lenny로 변경되면서 syslog 대신에 더 개량이 된 rsyslog를 사용하기 시작했다. >

다시 설정 파일로 돌아가서 /etc/syslog.d 디렉토리 혹은 /etc/rsyslog.d 디렉토리를 살펴보면 세부 설정 파일들을 확인해볼 수 있다.

kern.*                          -/var/log/kern.log

위의 내용은 syslog 파일의 일부를 발췌한 것인데, 위 내용을 살펴보면 다음과 같다. kern은 facility로써, kernel 메세지들에 대한 설정을 말하는 것이고, 뒤의 '*' 표시는 level로써, 이 예에서는 모든 level에 대해 로그를 기록하겠다는 설정이 된다. 뒤의 (/var/log/kern.log)는 로그가 씌어지는 파일의 경로이다.

(facility).(level)   (로그가 씌어질 파일 경로)

예를 들어, kern.info 라고 설정이 되어 있으면 커널 메세지 중에서 메세지의 level이 info 이면 커널 메세지 들을 필터링해서 info 이상의 메세지만 로그파일에 기록을 하겠다는 이야기가 된다. 

+ Recent posts