강좌
클라우드/리눅스에 관한 강좌입니다.
리눅스 분류

리눅스시스템의 로그데몬과 로그파일에 대한 이해

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

리눅스시스템의 로그데몬과 로그파일에 대한 이해

 

 

 

 

시스템관리를 위해 리눅스자체를 이해해야한다. 그리고 리눅스자체를 이해하기 위한 가장 효율적인 방법은 리눅스시스템이 기록하고있는 로그파일을 확실히 아는 것이다. ” 이 말은 필자 리눅스 로그파일의 중요성을 강조하기 위하여 가끔 하는 말이다. 

 

 

 

 혹시 필자의 강의를 들어본 분이라면 수없이 되풀이 했던 필자의 이 말이 기억날 것이다.

 

 

 

  방금 말한 짧은 한문장으로 리눅스 로그파일에 대해서 배워야하는 당위성에 대한 이유를 대신한다

 

다음은 /var/log의 디렉토리에 있는 로그파일들과 로그디렉토리들이다.

 

 

 

 아래 로그파일들에 대해서 중요한 것 몇가지만 살펴보겠다.

 

 

 

 

 

[root@RockyLinux ~]# ls -l /var/log

합계 4092

lrwxrwxrwx. 1 root    root         39  4 26 10:51 README -> ../../usr/share/doc/systemd/README.logs

drwxr-xr-x. 2 root    root       4096  4 26 10:58 anaconda

drwx------. 2 root    root         23  4 26 10:59 audit

-rw-------. 1 root    root       2015  6 28 09:37 boot.log

-rw-rw----  1 root    utmp        768  6 14 14:52 btmp

-rw-rw----  1 root    utmp        768  5 22 13:23 btmp-20230601

drwxr-x---. 2 chrony  chrony        6 11 15  2022 chrony

-rw-------  1 root    root      17661  6 28 15:01 cron

drwxr-xr-x  2       4 sys          57  4 28 15:57 cups

drwxr-xr-x  2 root    root          6 11 17  2022 dirsrv

-rw-r--r--. 1 root    root     372282  6 28 15:15 dnf.librepo.log

-rw-r--r--  1 root    root     674788  6 28 15:15 dnf.log

-rw-r--r--. 1 root    root    1048566  5 26 15:17 dnf.log.1

-rw-r--r--. 1 root    root     118658  6 28 15:15 dnf.rpm.log

-rw-r-----. 1 root    root          0  4 26 10:59 firewalld

drwx--x--x  2 root    gdm           6 11 15  2022 gdm

-rw-r--r--  1 root    root       2400  6 28 13:55 hawkey.log

drwx------. 2 root    root       4096  6 22 10:06 httpd

drwx------  2 keylime keylime       6  1 24 02:50 keylime

-rw-rw-r--. 1 root    utmp    2044584  6 28 09:45 lastlog

drwx------. 3 root    root         18  3  1 02:33 libvirt

drwxr-xr-x  2 root    root         24  6 13 09:04 mail

-rw-------  1 root    root       1931  6 28 10:46 maillog

drwxr-x---. 2 mysql   mysql       115  6 19 09:30 mariadb

-rw-------  1 root    root    1672483  6 28 15:15 messages

drwxr-xr-x  2 mongod  mongod       24  6 16 13:58 mongodb

drwx------  2 root    root         67  5 16 09:36 nginx

drwxrwxr-x  7 pcp     pcp          75  5 12 11:51 pcp

drwxrwx---. 2 apache  root        178  6 26 14:38 php-fpm

drwxr-xr-x  2 root    root          6 11 17  2022 pki

drwx------. 2 root    root          6  4 26 10:51 private

drwxr-xr-x  2 root    root          6  3  1 02:16 qemu-ga

drwx------  3 radiusd radiusd      21  5 12 11:50 radius

drwx------. 3 root    root         17  5  5 00:52 samba

-rw-------  1 root    root      17308  6 28 14:14 secure

drwx------  2 root    root          6  5 15  2022 speech-dispatcher

-rw-------  1 root    root          0  6 22 10:06 spooler

drwxrwx---  2 squid   root         50  6 27 11:13 squid

-rw-------  1 root    root       8449  5 11 15:18 ssparkcommand.txt

drwxr-x---. 2 sssd    sssd         87  6 22 10:06 sssd

drwxr-xr-x. 3 root    root         21  4 26 10:53 swtpm

-rw-------. 1 root    root          0  4 26 10:51 tallylog

drwxr-xr-x. 2 root    root         23  4 26 10:59 tuned

-rw-rw-r--. 1 root    utmp     125184  6 28 09:45 wtmp

-rw-------  1 root    root          0  6 22 10:06 xferlog

[root@RockyLinux ~]#

 

 

 

 

 

 

 

/var/log/dmesg 로그파일

 

리눅스가 부팅이 될 때 출력되는 모든 메시지를 기록하고 있다.

 

 

 

 부팅시의 에러나 조치사항을 살펴보려면 이 파일을 참조해야 한다.

 

 

 

 확인하는 방법은 vi로 직접 열어서 보거나 또는 “grep 문자열 /var/log/dmesg”와 같은 방법으로 해당 문자열에 대한 부팅메시지를 확인할 수 있다.

 

 

 

 또한 다음과 같이 시스템 부팅메시지만을 확인하고 검색하는 dmesg라는 명령어도 있다는 것을 알아두기 바란다.

 

 

 

 

 

[root@RockyLinux ~]# ls -l /bin/dmesg

-rwxr-xr-x. 1 root root 73496 11 17  2022 /bin/dmesg

[root@RockyLinux ~]#

 

 

 

 

/var/log/cron 로그파일

 

시스템의 정기적인 작업에 대한 로그, 즉 시스템 cron작업에 대한 기록하고 있는 파일이다.

 

 

 

 /etc/디렉토리에는 cron.hourly, cron.daily, cron.weekly, cron.monthly디렉토리들이 있다.

 

 

 

 이 디렉토리들은 각각 시간별, 일별, 주별, 월별로 정기적으로 운영체제에서 자동실행할 작업스크립트 파일들이 존재하고있다.

 

 

 

 그리고 이들 크론작업의 실행에 관련된 내용들이 모두 이 로그파일(/var/log/cron)에 기록된다.

 

 

 

 참고로 이 로그파일에 기록하는 주체는 crond라는 크론데몬이다.

 

 

 

 다음은 크론데몬을 ps로 확인한 것이다.

 

 

 

 

 

[root@RockyLinux ~]# ps -ef | grep crond

root        1115       1  0 09:37 ?        00:00:00 /usr/sbin/crond -n

root       44271    3177  0 15:28 pts/0    00:00:00 grep --color=auto crond

[root@RockyLinux ~]#

 

 

 

 

 

/var/log/messages 로그파일

 

리눅스 시스템의 가장 기본적인 시스템로그파일로서 시스템 운영에 대한 전반적인 메시지를 저장하고있다.

 

 

 

 주로 시스템 데몬들의 실행상황과 내역, 그리고 사용자들의 접속정보등의 로그기록내역을 기록하고있다.

 

 

 

 시스템 서비스에 관한 거의 모든 로그가 기록되는 파일이라고 봐도 무방하다.

 

 

 

 

 

 

/var/log/secure 로그파일

 

주로 사용자들의 원격접속 즉, 원격로그인 정보를 기록하고 있는 로그파일로서 서버보안에 아주 민감하고 중요한 파일이다.

 

 

 

 특히 tcp_wrapper(xinetd)의 접속제어에 관한 로그파일로서 언제, 누가, 어디에서, 어떻게 접속했는가에 대한 로그를 기록하고있다.

 

 

 

 시스템의 불법침입등이 있었다고 의심이 될 때는 반드시 이 로그파일을 확인해야한다.

 

 

 

 주로 sshd데몬과 su관련 실행, 그리고 telnet관련 원격접속, 그리고 gdm관련 실행내용들이 기록되는 로그파일이다.

 

 

 

 

 

 

/var/log/xferlog 로그파일

 

리눅스시스템의 FTP로그파일로서 proftpd 또는 vsftpd데몬들의 서비스내역을 기록하는 파일이다.

 

 

 

 ftp로 로그인하는 사용자에 대한 로그를 기록과 어떤파일을 업로드/다운로드 하였는가에 대하여 상세하게 기록한다.

 

 

 

 따라서 어떤 특정한 파일이 시스템으로 FTP서비스에 의해서 업로드되었을 때에나 또는 시스템외부로 다운로드 되었을 때에 이 파일의 기록내역을 확인해 보면 날짜,파일명,디렉토리명등의 주요정보를 확인할 수 있다.

 

 

 

 이외에도 중요한 로그파일이 있는데 /var/spool에는 작업중에 일시적으로 저장되는 로그 및 작업들에 대한 기록이 남겨지는 곳으로 이중 메일에 관한 것만 살펴보면 다음과 같다.

 

 

 

 

 

 

/var/log/maillog 로그파일

 

이 로그파일은 sendmail 또는 qmail등과 같은 메일송수신관련 내역들과 ipop 또는 imap등과 같은 수신내역들에 대하여 기록한다.

 

 

 

 이 로그파일은 그냥 메일로그파일이라고도 한다.

 

 

 

 즉 메일에 관련된 거의 모든 것을 기록하는 로그파일이기 때문이다.

 

 

 

 하지만 리눅스시스템에서 메일서비스를 하고있을 경우에는 이 로그파일의 용량이 갑자기 커지는 경우가 있기 때문에 매우 주의해야하는 로그파일이다.

 

 

 

 

 

 

/var/spool/mail 디렉토리

 

사용자들에 대한 메일을 보관하고있는 디렉토리로서 메일을 한번이상 사용한 사용자는 사용자 계정 ID와 동일한 파일이 하나씩 존재한다.

 

 

 

 사용자 계정생성시에 /var/spool/mail 디렉토리 내에 생성하는 계정명과 동일한 메일파일이 생성된다.

 

 

 

 메일을 읽은 후에 사용자의 메일디렉토리로 저장하거나 메일을 삭제했을 경우에는 이 파일에서 메일내용이 삭제된다.

 

 

 

 이 디렉토리에 있는 파일을 보기위해 mail이라는 클라이언트를 사용할 수 있다.

 

 

 

 일반 사용자들은 mail을 이용하여 자기자신의 메일내용만을 확인 할 수 있으며  root 권한으로는 모든 사용자의 메일내용 확인이 가능하다.

 

 

 

 다음 예는 이 디렉토리에 존재하는 개별사용자들의 메일파일을 확인한 것이다.

 

 

 

 

 

[root@RockyLinux ~]# ls -l /var/spool/mail/

합계 72

-rw-rw----  1 bible   mail   688  6 13 09:22 bible

-rw-rw----  1 bible2  mail     0  6 21 15:04 bible2

-rw-rw----  1 bible9  mail     0  6 21 16:18 bible9

-rw-------  1 root    root 57865  6 16 16:51 root

-rw-rw----. 1 rpc     mail     0  4 26 10:51 rpc

-rw-rw----  1 ssaprk1 mail     0  6 21 15:09 ssaprk1

-rw-rw----. 1 sspark  mail  4006  6 13 09:26 sspark

-rw-rw----. 1 sulinux mail   688  6 13 09:22 sulinux

[root@RockyLinux ~]#

 

 

 

 

이외에도 리눅스에는 많은 로그파일들이 있다.

 

 

 

 이들에 대해서는 이번 장의 설명을 이어가면서 하나씩 설명하도록 할 것이다.

 

 

 

 

 

시스템을 모니터링한다는 말의 의미는 여러가지가 있을 수 있다.

 

 

 

  하지만 거의 대부분 시스템 모니터링은 시스템에서 남겨지는 로그파일을 통해서 이루어지게 된다.

 

 

 

 즉 시스템관리자로서 시스템을 모니터링하기 위해서는 로그파일을 반드시 확인하고 분석해야 한다는 의미이다.

 

 

 

  서버에는 여러개의 로그파일이 있으며 이들 로그를 남기는 데몬들 또한 다양하다.

 

 

 

 시스템로그데몬(syslogd), 메일데몬(sendmail), 웹데몬(httpd), 네임데몬(named), 수퍼데몬(xinetd)등 매우 다양하다.

 

 

 

 

 

하지만 이들 로그파일들 가운데 가장 중요한 것이 당연히 시스템로그데몬(syslogd)에서 남겨지는 로그파일일 것이다.

 

 

 

  따라서 여기서 살펴볼 것은 커널과 시스템로그에 대한 것으로서 시스템관리자라면 반드시 확인해야하는 것들이며, 이들 로그파일의 분석 또한 굉장히 중요한 업무가 될 것이다.

 

 

 

 

 

 

 

 

 

 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,035 명
  • 현재 강좌수 :  35,798 개
  • 현재 접속자 :  122 명