리눅스시스템의 로그데몬과 로그파일에 대한 이해
작성자 정보
- 관리자 작성
- 작성일
컨텐츠 정보
- 2,906 조회
- 0 추천
-
목록
본문
리눅스시스템의 로그데몬과 로그파일에 대한 이해
“시스템관리를 위해 리눅스자체를 이해해야한다. 그리고 리눅스자체를 이해하기 위한 가장 효율적인 방법은 리눅스시스템이 기록하고있는 로그파일을 확실히 아는 것이다. ” 이 말은 필자 리눅스 로그파일의 중요성을 강조하기 위하여 가끔 하는 말이다.
혹시 필자의 강의를 들어본 분이라면 수없이 되풀이 했던 필자의 이 말이 기억날 것이다.
방금 말한 짧은 한문장으로 리눅스 로그파일에 대해서 배워야하는 당위성에 대한 이유를 대신한다
다음은 /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)에서 남겨지는 로그파일일 것이다.
따라서 여기서 살펴볼 것은 커널과 시스템로그에 대한 것으로서 시스템관리자라면 반드시 확인해야하는 것들이며, 이들 로그파일의 분석 또한 굉장히 중요한 업무가 될 것이다.
관련자료
-
이전
-
다음