티스토리 뷰

리눅스 로그들 (로그를 볼때 cat, vim 는 적합하지 않다 실시간으로 생성되므로 tail 명령어가 적합)

/var/log/boot.log
리눅스가 부팅될때 나타나는 메세지 기록

/var/log/cron
시스템 cron 에 대한 로그

/var/log/message
커널에서 보내주는 실시간 로그 (시스템에서 실시간으로 생성되므로 가장 많이 보는 로그중의 하나임)

/var/log/secure
시스템 접속에 관한 로그파일 (언제, 누가, 어디에서 접근했는지에 대한 로그가 남아있음)


/var/log/xferlog

ftp 로 로그인하는 사용자에 대한 로그를 기록하는 파일 


a : 아스키 파일

b : 바이너리 파일

C : 압축 / U : 비압축 / T : Tar archive

o : outgoing / i : ingoing

a : anoymous / g : guest / r : 인증된 사용자


/var/log/maillog
- 센드메일을 통한 메일에 대한 로그를 기록하는 파일

/var/log/wtmp
 - 사용자의 로그인 / 로그아웃 / shutdown / booting 기록이 DATA 파일로 저장

 

cat /var/log/wtmp 로 열면 DATA 파일이라 사람이 읽을수가 없다.

 

last -f /var/log/wtmp 로 확인

 

root pts/0 115.xx.xx.13 Thu Feb 23 16:53 - 17:04 (00:11)
reboot system boot 2.6.32-220.4.2.e Thu Feb 23 16:32 - 10:15 (7+17:43)
root pts/0 115.xx.xx.13 Thu Feb 23 16:24 - down (00:07)

 

 

/var/log/btmp

 - 로그인 5번 이상 실패한 로그가 남음 (DATA 형식)

 

lastb 명령어로 확인 가능

 

아래 아이피에서 무작위로 접근하는듯 함....

 

root     ssh:notty    98.xxx.xx.92     Wed Jul 11 22:06 - 22:06  (00:00)
root     ssh:notty    98.xxx.xx.92     Wed Jul 11 22:06 - 22:06  (00:00)
root     ssh:notty    98.xxx.xx.92     Wed Jul 11 22:06 - 22:06  (00:00)

 


로그를 관리하는 데몬 - syslogd

syslogd는 시스템이 부팅되면서 /etc/syslog.conf 파일을 읽어서 각 로그파일의 위치 파악하여 설정파일의 정의된
로그들은 각각 로그들을 시작하게 됨

/etc/syslog.conf
- 위의 로그들이 정의되어 있는 설정파일


syslog 원격에서 받기 (syslog 서버 구축)

[호스트]


vim /etc/hosts (로그서버 별칭과 아이피 등록)

192.168.6.2 syslogger 


vim /etc/syslog.conf
*.info;mail.none;authpriv.none;cron.none @syslogger ; 해당로그를 @syslogger 이라는 호스트에 보냄


혹은 아래와 같이 아이피로 지정 가능 (앞에 kern 은 커널관련 메세지 level 을 의미)

kern.* @192.168.2.18


/etc/init.d/syslog restart ; 적용 


[로그서버] centos5.X

vim /etc/sysconfig/syslog

- SYSLOGD_OPTIONS="-r -m 0" ← 수정  ; "-r" 만 추가 된것


[로그서버] centos 6.X


vim /etc/rsyslog.conf  # 192.168.1.182 서버에서 로그를 받자!


# Provides UDP syslog reception

$ModLoad imudp

$UDPServerRun 514

:FROMHOST-IP, isequal, "192.168.1.182" /var/log/192.168.1.182.log

& ~


vim /etc/sysconfig/rsyslog # 변경


SYSLOGD_OPTIONS="-c 2"

→ SYSLOGD_OPTIONS="-r -m 0"



/etc/init.d/syslog restart


로그서버에서 tail -f /var/log/messages 를 해보면 원격지의 로그가 보이면 된다



logrotate

- 로그파일을 순환시킨다. (주기적으로 보관후 제일 오래된 로그는 삭제)

/etc/logrotate.conf

 

weekly : 주단위로 로그를 순환시킴 (daily, monthly 등 바꿀수 있음)
rotate 4 : 순환 간격 지정 (4주까지의 로그 정보를 기록해둠)
create : 순환 주기에 다다르면 로그파일을 순환시킨뒤 새로운 로그파일을 생성
#compress : 로그파일의 용량을 줄이기 위해 로그 파일을 gzip으로 자동으로 압축하는 지시자
include /etc/logrotate.d : 네트워크 서비스의 로그파일을 설정을 /etc/logrotate.d/ 에 넣어서 적용할 수 있음

wtmp에 대한 로그 설정 부분으로 전역으로 선언된 설정 중복되는것들은 무시되고 아래에 설정이 우선시됨
순환주기는 monthly 이며 순환간격이 1입니다. create 지시자는 만들 로그 파일의 허가권과 소유권을 지정하였음
/var/log/wtmp {
monthly
create 0664 root utmp
minsize 1M
rotate 1
}

 

 

/etc/logrotate.d/syslog

 

/var/log/messages /var/log/secure /var/log/maillog /var/log/spooler /var/log/boot.log /var/log/cron {
sharedscripts
postrotate
/bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
endscript

 

 

시스템에서 예약되어 있는 주요 로그는 위에서 설정되어 있다.
postrotate ~ endscript : 로그파일이 순환된 이후 특정작업을 지시하라는 의미 (여기서는 데몬을 재시작한다는 의미?)

logrotate -d /etc/logrotate.conf 
- 디버그 모드로 로그를 순환시킴 (디버그 모드에서는 이전 내용과 비교하여 변경된것이 없으면 로그를 순환하지 않음)

로그로테이트로 돌아간것들은 아래와 같이 나오네. 요즘은 날짜로 지정해주나 본데요?

 

-rw------- 1 root root 286 2010-01-24 04:51 messages-20100124
-rw------- 1 root root 54549 2010-01-31 04:51 messages-20100131
-rw------- 1 root root 56810 2010-02-07 04:51 messages-20100207
-rw------- 1 root root 1963 2010-02-14 04:51 messages-20100214

 

특정 데몬의 로그만 순환시키기

logrotate -f /etc/logrotate.d/apache

 

 

사이트 참고

http://linuxsysconfig.com/2013/04/how-to-configure-remote-logging-on-rhel6-centos6/

'Linux' 카테고리의 다른 글

No space left on device 에러 메세지  (0) 2015.06.04
lshw 리눅스에서 하드웨어 자원 알아보기  (0) 2015.06.04
mingetty 프로세스  (0) 2015.06.04
리눅스 언어셋 UTF-8 (unicode 유니코드)  (0) 2015.06.04
geoip DB 업데이트  (0) 2015.06.04
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함