* 서버 Logging설정이 되어있는지 점검하고, 특이사항이 있는지 확인 필요!!

1. OS 로그 설정

  • 시스템 로그 설정되어 있는지 확인하고, 장애 분석 및 시스템 문제 발생 시 확인이 가능하도록 필수 로깅이 설정되어있는지 확인한다.
  • 로그가 중복으로 설정되어, 로그가 과다 생성되고 있는지 확인
  • syslogd

       - /etc/syslog.conf, /etc/rsyslog.conf 파일로 로그형식 및 경로를 설정함

       - syslogd 데몬이 OS 로그를 기록함

  • rsyslog의 메인 설정화일은 /etc/rsyslog.conf 임. 이 화일에서 /etc/rsyslog.d/50-default.conf 을 불러와 추가적인 내용을 설정하며 설정화일에 대한 자세한 내용은 man rsyslog.conf 를 확인 

 

  • rsyslog관련 파일
관련파일  설명 
/etc/rc.d/init.rsyslog -rsyslogd 데몬을 동작시키는 스크립트
/etc/init.rsyslog.conf -rsyslogd 데몬 환경 설정 파일

/etc/sysconfig/rsyslog -rsyslogd

데몬 실행과 관련된 옵션설정파일

/sbin/rsyslogd
실제 rsyslog 데몬

 

2. OS 로그 특이사항 확인

  • syslogd에 설정한 로그파일에 OS로그가 정상적으로 기록되고 있는지 확인
  • kernel오류, emergency, alert, critical, error 레벨의 로그가 남지는 않는지 우선 확인 후 그 외 warning 이하 minor level의 로그를 확인함
  • 주요 로그파일
    • /var/log/messages
    • /var/log/cron
    •  /var/log/boot.log
    •  /var/log/dmesg
    • /var/log/kern.log
  • 기타 로그파일
    • /var/log/auth.log
    • /var/log/secure
    • /var/log/wtmp
    •  /var/log/utmp
    •  /var/log/xferlog
    •  /var/log/yum.log
    • /var/log/named.log

3. 자원 사용률 로깅 설정 여부 확인

  • 자원사용률이 로깅되고 있는 지 확인
  • polestar, ontune등 상용 SMS 툴이 없을 경우 nmon, perfmon 등으로 logging 설정이 되어있는지 확인
  • nmon 로깅 예시(Version에 따라 상세 옵션이 다를 수 있음)

4. 이상징후 발생 시 담당자에게 알림 여부 확인

  • 서버 자원사용률 임계치 초과, 서버로그 상 특이사항 발생 시 대시보드 또는 알람을 통해 담당자에게 전달되는지 확인

5. Log Level

  • syslog는 IETF의 RFC 5424 로 등록됨. RFC 5424에는 syslog 메시지를 인터넷 상으로 전달하는 방법을 기술
  • 메시지의 특성을 정의하는 facility와 severity중 facility는 메시지를 발생시킨 프로그램의 타입을 나타내는 값이며, severity는 메시지의 성격 또는 중요도를 나타냄. syslog에서는 이 값에 따라 로그 메시지를 어느 화일에 기록할지, 누구에게 이 사실을 알릴 것인지를 결정함
  • facility와 severity에 따라 어떤 화일에 로그를 쓸지에 대해, rsyslog의 경우 /etc/rsyslog.d/50-default.conf 에 정의되어 있다.

● /etc/rsyslog.conf 파일
※기본 형식
: facility.priority    action

형식 설명  
facility .일종의 서비스를 의미
.메시지를 발생 시키는 프로그램의 유형
 
priority .위험의 정도를 나타내며, 설정한 수준을 포함해서 높으면 메시지 보냄
.설정 앞에 = 사용의 경우 : 해당 수준(priority)의 위험도와 같은 경우에 메시지 보냄 
.설정 앞에 ! 사용의 경우 : 해당 수준(priority)만 제외 시킬때 사용
 
action .메시지를 보낼 목적지나 행동들에 관한 설정
.보통 파일명이나 아이디 들을 적음
 
규칙 .facility : 콤마(,) 사용
.facility.priority의 조함 : 세미콜론 (;) 사용
 

 

1) severity : 메시지의 성격 또는 중요도 -0~7 사이의 숫자로, 숫자가 낮을수록 심각한 문제라는 것을 내포함

Code Severity Keyword C code Description
0 Emergency emerg (panic) LOG_EMERG System is unusable.
1 Alert alert LOG_ALERT Action must be taken immediately.
2 Critical crit LOG_CRIT Critical conditions.
3 Error err (error) LOG_ERR Error conditions.
4 Warning warning (warn) LOG_WARNING Warning conditions.
5 Notice notice LOG_NOTICE Normal but significant condition.
6 Informational info LOG_INFO Informational messages.
7 Debug debug LOG_DEBUG Debug-level messages.

2) facility : 메시지를 발생시킨 프로그램의 타입(발생주체) -이벤트를 생성한 프로세스, 모듈, 프로토콜을 나타냄. 메일 시스템, 커널, 네트워크 등이 될 수 있음

Facility
Number
Keyword C code Facility Description
0 kern LOG_KERN kernel messages
1 user LOG_USER user-level messages
2 mail LOG_MAIL mail system
3 daemon LOG_DAEMON system daemons
4 auth LOG_AUTH security/authorization messages
5 syslog LOG_SYSLOG messages generated internally by syslogd
6 lpr LOG_LPR line printer subsystem
7 news LOG_NEWS network news subsystem
8 uucp LOG_UUCP UUCP subsystem
9 clock LOG_CRON clock daemon
10 authpriv LOG_AUTHPRIV security/authorization messages
11 ftp . FTP daemon
12 . . NTP subsystem
13 . . log audit
14 . . log alert
15 cron . clock daemon
16 local0 LOG_LOCAL0 local use 0 (local0)
17 local1 LOG_LOCAL1 local use 1 (local1)
18 local2 LOG_LOCAL2 local use 2 (local2)
19 local3 LOG_LOCAL3 local use 3 (local3)
20 local4 LOG_LOCAL4 local use 4 (local4)
21 local5 LOG_LOCAL5 local use 5 (local5)
22 local6 LOG_LOCAL6 local use 6 (local6)
23 local7 LOG_LOCAL7 local use 7 (local7)

3) Priority : 심각도를 의미

facility 심각도
none 저장된 facility제외
debug 1
info 2
notice 3
warning 4
error 5
crit 6
alert 7
emerge 8

4)설정 예시

*.emerg      shutdown - h now                    //모든 장치의 emerg발생시 Shutdown
kern.*         /dev/console                            //커널 관련 로그를 /dev/console에 남김
authpriv.*    /var/log/sercure                       //xinetd접속 로그를 /var/log/sercure 남김

*.info;mail.none     /var/log/message          //모든 facility에서 발생하는 info이상 심각도(2-8)의
                                                                     이벤트를 로깅하되 mail Facility에서 발생하는 로그는 로깅하지 않음
*.*;auth,authpriv.none,local0.none      -/var/log/syslog         
                                                                 //모든 로그(*.*)를 /var/log/syslog에 기록하지만, 세미콜론(;) 이후의 facility들인
                                                                   auth, authpriv, local0 은 제외(none)하라는 것임. 화일이름 앞의 
- 는 로그를
                                                                   파일에 바로 쓰지 말고 메모리에 로그를 가지고 있다가 디스크에 입출력 여유가
                                                                   있을 경우 쓰라는 의미임
                                                                (
http://shallowsky.com/blog/linux/rsyslog-conf-tutorial.html 의 Rules Section참조)

 

  • 파일 뿐 아니라 다른 곳으로도 로그를 보낼수 있음
    @IP, @[hostname] : 다른 서버로 로그 전달
    [사용자] : 지정한 사용자가 로그인 한 경우, 해당 사용자의 터미널에 표시
    * : 현재 로그인 되어 있는 모든 사용자의 터미널로 전달
    /dev/console, [터미널] : 지정한 터미널에 표시

+ Recent posts