리눅스 로그 시스템의 이해와 활용 -1- |
작성자 : (주)수퍼유저코리아, http://www.superuser.co.kr 서버팀 |
로그시스템의 이해와 활용 |
 | |
1. 리눅스 로그시스템 흐름도
2. 로그파일의 종류와 내용
3. /etc/syslog.conf 파일의 예
4. /etc/syslog.conf 파일의 이해와 활용
5. syslogd와 klogd의 시작과 종료
6. 로그파일의 로테이트를 위한 logrotated
7. 로테이트된 로그파일들의 실제 예
8. logrotated 관련 파일들
9. logrotated 설정파일의 이해와 활용
10. 활용1 : 중요로그기록 이중저장
11. 활용2 : 중요로그파일 원격실시간 저장
|
1. 리눅스 로그시스템 흐름도 |
 | |
↓
↓←
syslogd 실행 - /etc/syslog.conf파일 읽어들임 | |
↓
/var/log/ 디렉토리에 지정된 파일에 로그기록 /dev/console /var/log/messages /var/log/secure /var/log/maillog /var/log/cron /var/log/spooler /var/log/boot.log …………… 기타 지정된 로그파일들 | | ↓
cron에 의한 주기적인 logrotated 데몬 실행으로 로그 로테이트 수행 위의 로그파일들 조건에 따라서 rotate됨.
/etc/logrotate.conf파일 읽음 → /etc/logrotate.d/디렉토리내의 파일들 읽어들임. | | ↓↓
|
2. 로그파일의 종류와 내용 |
 | |
로그파일 종류 |
관련데몬 |
의미와 내용 |
/dev/console |
kernel |
콘솔에 뿌려지는 메시지들(콘솔로그) |
/var/log/messages |
거의 모든 데몬 |
시스템로그파일 |
/var/log/secure |
xinetd |
보안인증에 관한 메시지 로그파일. tcpd로그파일(xinetd) |
/var/log/maillog |
sendmail,pop등 |
메일로그파일(메일관련로그데몬에 의해 기록됨) |
/var/log/cron |
crond |
크론로그파일로서 crond에 의해 기록되는 파일 |
/var/log/xferlog |
proftpd, vsftpd |
ftp로그파일, ftp데몬에 의해서 기록되는 로그파일 |
/var/log/dmesg |
kernel |
부팅될 당시에 각종 메시지들을 저장하고 있는 로그파일 즉, 부팅시의 로그파일을 부팅후에 확인하고자 할 때사용. |
/var/log/wtmp /var/log/utmp |
시스템에 로그인 기록이 저장되는 파일. wtmp는 전체 로그인기록을 하는 파일. utmp는 현재 로그인사용자에 대한 기록하는 파일. |
/var/log/lastlog |
각계정들의 가장 최근로그인기록을 하는 파일 |
기타 로그파일들 |
ㅇ 관련데몬은 반드시 그런 것은 아님. ㅇ syslogd데몬에 의해 각 로그파일의 기록내용이 달라질 수 있음. ㅇ 즉, 로그파일과 관련데몬, 그리고 기록내용은 /etc/syslog.conf파일의 설정내용에 따라서 달라질 수 있음. | |
|
3. /etc/syslog.conf 파일의 예 |
 | |
[root@edu /]# cat /etc/syslog.conf # Log all kernel messages to the console. # Logging much else clutters up the screen. #kern.* /dev/console
# Log anything (except mail) of level info or higher. # Don't log private authentication messages! *.info;mail.none;authpriv.none;cron.none /var/log/messages
# The authpriv file has restricted access. authpriv.* /var/log/secure
# Log all the mail messages in one place. mail.* /var/log/maillog
# Log cron stuff cron.* /var/log/cron
# Everybody gets emergency messages *.emerg *
# Save news errors of level crit and higher in a special file. uucp,news.crit /var/log/spooler
# Save boot messages also to boot.log local7.* /var/log/boot.log [root@edu /]# |
|
4. /etc/syslog.conf 파일의 이해와 활용 |
 | |
ㅇ /etc/syslog.conf파일의 각행의 형식(포맷)
서비스종류.우선순위;서비스종류.우선순위;서비스종류.우선순위 로그파일위치 |
ㅇ 각행의 의미 서비스종류(데몬)에 대하여 우선순위의 상황이 발생하면 로그파일위치의 파일에 그 내용을 기록한다.
ㅇ 규 칙 - 서비스종류는 facility, 우선순위는 priority, 로그파일위치는 logfile-location을 각각 의미함. - 서비스종류와 우선순위는 .(점)으로 구분함. - “서비스종류.우선순위” 그리고 “서비스종류.우선순위” 사이에는 ;(세미콜론)으로 구분함. - 서비스종류에는 mail, cron, kern, uucp등과 같은 해당 서비스의 종류를 의미함. - 우선순위에는 지정된 서비스종류의 상황정도를 의미 함.(다음페이지 참조) - 로그파일위치는 서비스종류와 우선순위에 의해서 발생되는 로그가 기록될 파일의 위치를 의미함. - 서비스종류 자리에 *가 설정되면 모든 서비스를 의미함. - 우선순위 자리에 *가 설정되면 모든 우선순위(상황)을 의미함. - 로그파일위치 자리에 *가 설정되면 모든 로그파일을 의미함.
|
/etc/syslog.conf 파일의 이해와 활용 |
 | |
ㅇ 서비스종류(facility,데몬종류) - 해당 로그파일에 기록할 서비스의종류, 즉, 데몬종류를 의미함.
서비스 종류 |
설 명 |
auth |
로그인과 같이 사용자 인증에 관한 메시지 |
authpriv |
보안 및 승인에 관한 메시지 |
cron |
crond 데몬과 atd 데몬에 의해 발생되는 메시지 |
daemon |
telnet, ftp등과 같은 데몬에 의한 메시지 |
kern |
kernel에 의한 메시지로서 커널메시지라고함 |
lpr |
프린터데몬인 lpd에 의해 발생되는 메시지 |
mail |
sendmail, pop, qmail등과 같은 메일 관련 메시지 |
news |
innd등과 같은 뉴스시스템에 의해 발생되는 메시지 |
uucp |
uucp에 의한 시스템에 의한 메시지 |
* |
모든 서비스에 의해 발생되는 메시지 | |
|
/etc/syslog.conf 파일의 이해와 활용 |
 | |
ㅇ우선순위 (priority, 상황정도) - 지정한 서비스의 종류에 대한 우선순위(상황정도)를 의미함.
우선순위(상황정도) |
설 명 |
9 |
* |
모든상황의 메시지(all) |
8 |
debug |
debugging에 관한 메시지(가장 낮은 단계) |
7 |
info |
단순한 프로그램에 대한 정보 메시지(information) |
6 |
notice |
에러가 아닌 알림에 대한 메시지 |
5 |
warn |
주의를 요하는 메시지(warning) |
4 |
err |
에러로 인한 메시지(error) |
3 |
crit |
급한상황은 아니지만 치명적인 시스템 문제 발생 메시지(critical) |
2 |
alert |
즉각적인 조치를 해야하는 메시지 |
1 |
emerg |
매우 위험한 상황의 메시지(가장 높은 단계, emergency) |
0 |
none |
해당사항없음. 메시지없음.(기록될 내용이 없음) | |
|
5. syslogd와 klogd의 시작과 종료 |
 | |
ㅇ syslogd 데몬과 klogd 데몬 실행확인
[root@edu log]# ps -ef | grep syslogd root 3070 1 0 15:37 ? 00:00:00 syslogd -m 0 root 3078 1977 0 15:38 pts/0 00:00:00 grep syslogd [root@edu log]# [root@edu log]# ps -ef | grep klogd root 3072 1 0 15:37 ? 00:00:00 klogd -x root 3080 1977 0 15:38 pts/0 00:00:00 grep klogd [root@edu log]# | ㅇ syslogd 서비스의 시작 : /etc/rc.d/init.d/syslog start
[root@edu log]# /etc/rc.d/init.d/syslog start Starting system logger: [ OK ] Starting kernel logger: [ OK ] [root@edu log]# |
ㅇ syslogd 서비스의 종료 : /etc/rc.d/init.d/syslog stop
[root@edu log]# /etc/rc.d/init.d/syslog stop Shutting down kernel logger: [ OK ] Shutting down system logger: [ OK ] [root@edu log]# |
ㅇ syslogd 서비스의 재시작 : /etc/rc.d/init.d/syslog restart
[root@edu log]# /etc/rc.d/init.d/syslog restart Shutting down kernel logger: [ OK ] Shutting down system logger: [ OK ] Starting system logger: [ OK ] Starting kernel logger: [ OK ] [root@edu log]# |
|
|
 |