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

tail을 이용하여 시스템로그파일 실시간 모니터링 하기

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

tail을 이용하여 시스템로그파일 실시간 모니터링 하기







 

tail명령어는 특정 파일에 지속적으로 저장하는 내용을 계속해서 지켜보고자(모니터링) 때에 굉장히 편리합니다.

 

 

 

 특히, /var/log디렉토리에 존재하는 시스템 로그파일들을 실시간 모니터링 하는데 매우 유용합니다.

 

 

 

  tail명령어의 -f옵션을 사용하시면 특정 파일에 추가 저장되는 내용을 실시간으로 보여줍니다.

 

 

 

 , 특정로그파일에 저장되는 실시간 데이터를 화면으로 모니터링 하고자 때에는 다음과 같은 형식을 사용하시면 됩니다.

 

 

 

 

 

사용형식 :  tail –f 로그파일명

 

, 이와 같은 방법은 root 시스템로그파일을 실시간 모니터링 하고자 때에 주로 사용되는 형식입니다.

 

 

 

 일반 텍스트파일이라면 어떤 파일이라도 실시간 모니터링이 가능하지만 대부분은 시스템 로그파일 모니터링을 위하여 사용됩니다.

 

 

 

  아래 예에서 하나씩 보여드리겠습니다.

 

 

 

 

 

 

첫번째 예로서 /var/log/messages 로그파일에 실시간으로 추가 저장되는 내용을 모니터링 하는 예입니다.

 

 

 

 

 

[root@file root]# tail -f /var/log/messages

May  6 09:31:57 file ypbind: bound to NIS server file.superuser.co.kr

May  6 09:35:41 file sshd(pam_unix)[1949]: session opened for user root by (uid=0)

May  6 09:36:14 file sshd(pam_unix)[1987]: authentication failure; logname= uid=0 euid=0 tty=NODEVssh ruser= rhost=192.168.0.12  user=sspark

May  6 09:36:30 file sshd(pam_unix)[1989]: session opened for user sspark by (uid=501)

May  6 09:36:33 file sshd(pam_unix)[1989]: session closed for user sspark

May  6 09:36:51 file sshd(pam_unix)[2024]: session opened for user dorious by (uid=513)

May  6 09:36:54 file sshd(pam_unix)[2024]: session closed for user dorious

May  6 09:37:00 file sshd(pam_unix)[2055]: authentication failure; logname= uid=0 euid=0 tty=NODEVssh ruser= rhost=192.168.0.12  user=bible

May  6 09:37:07 file sshd(pam_unix)[2057]: session opened for user bible by (uid=500)

May  6 09:37:09 file sshd(pam_unix)[2057]: session closed for user bible

 

위의 예는 /var/log/messages파일에 추가 저장되는 내용을 실시간으로 확인하는 예입니다.

 

 

 

 위의 내용을 보시면 어떤 사용자가 로그인 또는 로그아웃을 하였다는 내용을 실시간으로 확인할 있습니다.

 

 

 

 

 

 

그리고 다음은 root사용자가 /var/log/secure파일을 실시간 모니터링 하는 예입니다.

 

 

 

 

 

[root@file root]# tail -f /var/log/secure

May  6 09:36:16 file sshd[1987]: Failed password for sspark from 192.168.0.12 port 1181

May  6 09:36:23 file sshd[1987]: Failed password for sspark from 192.168.0.12 port 1181

May  6 09:36:30 file sshd[1987]: Accepted password for sspark from 192.168.0.12 port 1181

May  6 09:36:39 file sshd[2020]: Illegal user imsi from 192.168.0.12

May  6 09:36:39 file sshd[2020]: Failed none for illegal user imsi from 192.168.0.12 port 1182

May  6 09:36:39 file sshd[2020]: Failed password for illegal user imsi from 192.168.0.12 port 1182

May  6 09:36:44 file sshd[2020]: Failed password for illegal user imsi from 192.168.0.12 port 1182

May  6 09:36:51 file sshd[2022]: Accepted password for dorious from 192.168.0.12 port 1183

May  6 09:37:03 file sshd[2055]: Failed password for bible from 192.168.0.12 port 1184

May  6 09:37:07 file sshd[2055]: Accepted password for bible from 192.168.0.12 port 1184

 

 

 

위의 또한 /var/log/secure파일에 실시간으로 저장되는 데이터를 모니터링 하는 예로서 시스템보안에 관련된 로그인, 로그아웃정보들을 확인할 있습니다.

 

 

 

 

 

 

그리고 다음은 /var/log/maillog라는 메일로그파일을 실시간 모니터링 하는 예입니다.

 

 

 

 

 

[root@file root]# tail -f /var/log/maillog

May  6 09:33:40 ns sendmail[10283]: i460XeA10283: from=nobody, size=1346, class=0, nrcpts=1, msgid=<200405060033.i460XeA10283@ns.superuser.co.kr>, relay=nobody@localhost

May  6 09:33:40 ns sendmail[10286]: i460XeA10283: to=webmaster@superuser.co.kr, ctladdr=nobody (99/99), delay=00:00:00, xdelay=00:00:00, mailer=esmtp, pri=31346, relay=210.114.223.149. [210.114.223.149], dsn=2.0.0, stat=Sent (ok 1083804445 qp 26617)

May  6 09:35:24 ns sendmail[10438]: i460ZNu10438: from=nobody, size=1886, class=0, nrcpts=1, msgid=<200405060035.i460ZNu10438@ns.superuser.co.kr>, relay=nobody@localhost

May  6 09:35:24 ns sendmail[10441]: i460ZNu10438: to=webmaster@superuser.co.kr, ctladdr=nobody (99/99), delay=00:00:01, xdelay=00:00:00, mailer=esmtp, pri=31886, relay=210.114.223.149. [210.114.223.149], dsn=2.0.0, stat=Sent (ok 1083804548 qp 26682)

 

 

위의 예는 /var/log/maillog파일을 실시간 모니터링 하는 예로써 현재 시스템을 통하여 송수신되는 메일송수신정보를 확인할 있습니다.

 

 

 

 , sendmail(또는 Qmail) 통하여 시스템을 거쳐서 발송되는 메일발송기록이나 또는 특정 사용자가 아웃룩에서 메일을 받아가는 메일수신정보(pop) 실시간으로 확인할 있습니다.

 

 

 

 

 

 

그리고 다음은 아파치웹로그를 실시간으로 모니터링 하는 예로서 /usr/local/apache/logs디렉토리에 존재하는 access_log파일에 추가 저장되는 내용을 화면으로 확인하는 예입니다.

 

 

 

 

 

[root@file root]# tail -f /usr/local/apache/logs/access_log

192.168.0.200 - - [13/Apr/2004:21:50:47 +0900] "PROPFIND /public HTTP/1.1" 404 295

192.168.0.18 - - [14/Apr/2004:09:56:36 +0900] "OPTIONS / HTTP/1.1" 200 -

192.168.0.18 - - [14/Apr/2004:09:56:36 +0900] "PROPFIND /supernote01 HTTP/1.1" 404 300

192.168.0.18 - - [14/Apr/2004:10:16:54 +0900] "OPTIONS / HTTP/1.1" 200 -

192.168.0.18 - - [14/Apr/2004:10:16:54 +0900] "PROPFIND /public HTTP/1.1" 404 295

192.168.0.18 - - [14/Apr/2004:19:07:13 +0900] "OPTIONS / HTTP/1.1" 200 -

192.168.0.18 - - [14/Apr/2004:19:07:13 +0900] "PROPFIND /public HTTP/1.1" 404 295

192.168.0.18 - - [14/Apr/2004:19:07:13 +0900] "PROPFIND /tmp HTTP/1.1" 404 292

192.168.0.18 - - [15/Apr/2004:14:59:27 +0900] "OPTIONS / HTTP/1.1" 200 -

192.168.0.18 - - [15/Apr/2004:14:59:27 +0900] "PROPFIND /public HTTP/1.1" 404 295

 

, 이와 같은 방법으로 시스템의 특정로그파일의 내용을 모니터링 있습니다.

 

 

 

  만약 RPM으로 설치된 아파치웹서버를 사용하신다면 로그파일(access_log) /var/log/httpd디렉토리에 존재할 것이므로 “tail –f /var/log/httpd/access_log” 같은 방법으로 사용하시면 됩니다.

 

 

 

 

 

 

말씀드린바와 같이 방법은 주로 root 의해서 사용되는 방법으로서 시스템 장애의 원인분석을 위하여 특정 작업이 이루어지는 순간에 기록되는 로그파일을 확인하고자 주로 사용합니다.

 

 

 

 

관련자료

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

공지사항


뉴스광장


  • 현재 회원수 :  60,039 명
  • 현재 강좌수 :  35,845 개
  • 현재 접속자 :  116 명