본문 바로가기

Lecture & Tip/linux programming[리눅스]

간단한 syslog 설정방법

/etc/syslog.conf를 열어서 설정을 한다.

설정은 udp(port:514)로 들어오는 패킷들을 분류하여 저장 장소를 설정할 수 있다.

syslog udp 문법은 "<번호>메세지" 형태이고 번호가 분류 기준이 된다.

syslog level은 다음과 같다.
emerg <0>, alert <1>, crit <2>, err <3>, warn <4>, notice <5>, info <6>, debug <7>

reserved facility는 Local0~7까지 있다.
local0<128>, local1<136> , local2<144>, local3<152>, local4<160>....

이미 감을 잠은 분들도 있겠지만 분류는 facility.level로 이루어진다. 이 정보는 1byte에 저장되어
앞의 5bit가 facility 뒤의 3bit가 level이 된다.

local1 = 136<0x10001000> 이고 err = 3<0x00000011>이다 그래서 local1.emerg 분류의 번호는 139 이된다.

udp 패킷이 "<136>msg" 내용을 담아오면 syslog는 local1.emerg의 분류 장소로 보내어진다.

facility는 Local이외에 user, kern 등 여러가지가 있다.

위의 정보를 이용하면 user defined level을 만들어 사용할 수 있다.

설정시에 아래와 같이 설정하면

local1.=debug                 /var/log/log_debug
loca1.info                      /var/log/log_info.log
*.emerg                           *


facility가 local1이고 level이 debug인 정보만 /var/log/log_debug.log에 저장되고,
facility가 local1이고 level이 info이상인 정보는 모두 /var/log/log_info.log에 저장된다.
facility는 상관없이 level이 emerg인 정보는 모든 출력 장소에 출력한다.

자세한 정보는 syslog man 페이지를 참조!!!

설정후 syslog데몬을 키면 설정 끝!!!