리눅스 로그파일의 종류
작성자 정보
- 관리자 작성
- 작성일
컨텐츠 정보
- 2,319 조회
- 0 추천
-
목록
본문
리눅스 로그파일의 종류
리눅스시스템에서 제공하는 로그파일의 종류에 대해서 알아보도록 하겠다.
앞서 잠깐 언급했듯이 리눅스의 로그파일은 기본적인 로그파일만 하더라도 굉장히 많은 편이다.
그리고 보안툴(예 tripwire, nmap)등을 설치하고 나면 이들에 관한 로그파일들에 새로 생기게 된다.
리눅스의 로그파일의 종류에 대해서 언급해보면 다음과 같다.
[리눅스 로그파일들과 관련데몬]
로그이름 |
로그파일명 |
관련데몬 |
설 명 |
콘솔로그 |
/dev/console |
kernel klogd |
콘솔에 뿌려지는 로그 |
시스템로그 |
/var/log/messages |
rsyslogd |
리눅스커널로그 및 주된로그 |
TCPD로그 |
/var/log/secure |
telnet, ssh |
|
메일로그 |
/var/log/maillog |
sendmail |
메일로그(sendmail에 의한 로그) |
크론로그 |
/var/log/cron |
crond |
crond에 의한 로그 |
부팅로그 |
/var/log/boot.log |
boot |
시스템부팅시의 로그 |
FTP로그 |
/var/log/xferlog |
ftpd |
ftp로그 |
웹로그 |
/usr/local/apache/logs/access_log |
httpd |
아파치(웹서버)로그 |
네임서버로그 |
/var/log/named.log |
named |
네임서버(DNS)로그 |
기본적인 로그들은 syslogd에 의해서 제어되며, syslogd의 설정파일인 /etc/rsyslog.conf 파일을 수정함으로써 이 파일들의 저장위치와 저장파일명을 변경할 수도 있다.
필자의 경우에는 보안을 위하여 숨김속성(.으로 시작하는 디렉토리)의 디렉토리를 다른곳에 만들어 여기에 숨김속성파일(.으로 시작하는 파일)을 만들어서 잘찾을 수 없는 곳에 보관하고 있다.
syslogd에 관한 설명은 바로 이 다음절에 있으므로 뒤에서 자세히 배워보기로 하겠다.
콘솔로그(/dev/console)
이 로그는 커널(kernel)데몬(klogd)에 관련된 내용을 시스템콘솔에 뿌려주는 로그이다.
물론, messages내용과 일치하지는 않지만 시스템에 관련된 중요한 내용들(예, 시스템풀, 다운등)에 대한 로그를 관리자에게 알리고자 함이 목적이기 때문에 출력을 파일로 저장하는 것이 아니라 장치명(/dev/console)을 사용하여 콘솔로 로그를 뿌려주게 된다.
시스템로그(/var/log/messages)
이 로그에 기록되는 내용은 주로 접속시의 인증에 관한 것과 메일에 관한 내용, 그리고 시스템에 관한 변경사항등 시스템에 관한 전반적인 로그를 기록하는 파일이다.
시스템관리자에 의해서 가장 소중하게 다루어지는 로그이기도 하다.
이 파일에 기록되는 내용을 변경하고자 한다면 /etc/rsyslog.conf 파일의 내용에서 수정해주면 된다.
메일로그(/var/log/maillog)
이 로그파일의 이름에서 의미하는 바와같이 sendmail이나 pop등의 실행에 관한 기록이 남겨지게 된다.
메일을 주고받을 때에 이 로그파일에 기록이 된다.
즉 smtp와 pop에 관한 로그라고 말할 수 있다.
이 로그파일과 관련된 sendmail 데몬의 확인 방법은 간단히 다음과 같이 할 수 있다.
[root@RockyLinux ~]# ps -ef | grep sendmail root 44416 1 1 15:40 ? 00:00:00 sendmail: accepting connections root 44423 1 0 15:40 ? 00:00:00 /usr/sbin/sendmail -L sm-msp-queue -Ac -q1h root 44426 3177 0 15:40 pts/0 00:00:00 grep --color=auto sendmail [root@RockyLinux ~]# |
크론로그(/var/log/cron)
시스템의 크론(crond)과 예약작업(atd)이 작업한 기록을 보관하고있는 파일이다.
이파일을 보면 크론데몬인 crond가 언제 어떤작업을 수행했는가를 확인할 수 있다.
위의 예를보면 알 수 있는 바와같이 crond에 의해서 실행되었던 데몬(프로세스, 응용프로그램등)들이 기록되어 있음을 알 수 있다.
즉 crond에 의해서 생성되는 로그가 기록되는 파일이다.
이 로그파일과 관련된 크론데몬인 crond와 예약작업 데몬인 atd를 확인해보면 다음과 같다.
[root@RockyLinux ~]# ps -ef | grep crond root 1115 1 0 09:37 ? 00:00:00 /usr/sbin/crond -n root 44435 3177 0 15:41 pts/0 00:00:00 grep --color=auto crond [root@RockyLinux ~]# [root@RockyLinux ~]# ps -ef | grep atd root 1114 1 0 09:37 ? 00:00:00 /usr/sbin/atd -f root 44452 3177 0 15:41 pts/0 00:00:00 grep --color=auto atd [root@RockyLinux ~]# |
부팅로그(/var/log/boot.log)
시스템의 데몬들이 실행되거나 재시작되었을 때 기록되는 로그파일로서 위의 예는 sendmail을 재시작했을 때 boot.log파일에 기록된 예를 보인 것이다.
FTP로그(/var/log/xferlog)
ftp나 ncftp등의 접속이 이루어졌을때 이 로그파일에 기록된다.
예를들어 서버내에 proftpd, vsftpd데몬이 실행되어 있을 경우에 원격지의 PC에서 ws_ftp나 cute_ftp등을 사용하여 서버로 ftp접속을 하였을 하였다면 이 로그파일에 기록되고, 업로드한 파일과 다운로드한 파일들에 대한 자세한 기록과 함께 남겨지게 된다.
웹로그(/usr/local/apache2/logs/access_log)
여러분들에게 가장 친근한 웹로그가 아닌가 한다.
리눅스에서 웹서버로는 대부분 아파치를 사용하므로 아파치로그에 대한 예를 든 것이다.
대부분 아파치의 설치위치가 /usr/local/apache이므로 아파치 로그파일의 위치는 /usr/local/apache/logs/access_log가 된다.
만약 웹호스팅등으로 여러개의 웹사이트를 운영한다면 각각의 웹사이트 로그파일의 위치는 /home/ID/www_log가 될 것이다.
물론 이 위치는 필자가 권하는 위치이며 다른 곳에 다른 디렉토리명으로 저장해도 무방하다.
사용자 각각의 웹사이트의 위치를 지정하는 곳은 아파치 설정파일인 /usr/local/apache/conf/httpd.conf파일중 <VirtualHost>라는 곳에서 하게된다.
예를들어 httpd.conf파일의 내용중 가상호스트 설정부분을 예를 든 것으로 이 사이트(linux.co.kr)의 로그파일위치는 지정한 대로 /home/linux/www_log/access_log가 된다.
다른 가상호스트의 사이트위치도 이와 같다고 할 수 있다.
그리고 이 로그파일과 관련된 httpd데몬의 확인 방법은 간단히 다음과 같이 할 수 있다.
[root@RockyLinux ~]# ps -ef | grep httpd root 44460 1 2 15:41 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND apache 44462 44460 1 15:41 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND apache 44463 44460 1 15:41 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND apache 44464 44460 1 15:41 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND apache 44465 44460 1 15:41 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND apache 44466 44460 1 15:41 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND root 44518 3177 0 15:41 pts/0 00:00:00 grep --color=auto httpd [root@RockyLinux ~]# |
또한 실행중인 httpd의 PID저장 파일은 /usr/local/apache/logs/httpd.pid이다.
관련자료
-
이전
-
다음