공룡호가 사는 세상 이야기

UNIX가 NT에 비해 강력한 많은 점들 중 하나는 무엇보다 수많은 로그 메시지들을 남긴다는 점이다.
시스템은 언젠가 장애에 직면하게 되며, 그것에 대응하는 방법 중 가장 확실한 방법은 시스템이 남긴 로그 파일을 보는 것이다. 예를 들어, 어느날 시스템이 갑자기 패닉 상태로 떨어졌다고 하자. UNIX의 로그 파일을 살펴보면, 대부분 그 이유와 날짜, 시간이 기록되어 있다. 하지만 NT는 블루스크린이 뜨고, 곧 이어 시스템이 죽어버린다. 물론 덤프를 내리긴 하지만, 이를 분석하는 것이 무척이나 어려우며, 모든 경우에 해당되는 것 또한 아니다.
그 외에도 UNIX는 아주 작은 부분까지도 로그파일에 메시지를 남기는데, 이 로그는 시스템을 운용하는 사람에게 무엇보다 중요하다. 하지만, 로그 파일을 이해하는 것이 그렇게 만만한 것은 아니다.

많은 장애를 대응하다 보면, 무슨 장애의 종류가 그렇게 많은지도 모르겠다. 고객을 만나 장애를 마주하고 앉으면 가장 먼저 로그 파일을 점검하는 것이 우선이다. 그만큼 중요한 것이 로그 파일인데 대부분의 시스템 관리자들은 로그 파일을 올바로 이해하고 있지 않다. 나에게도 로그 파일의 이해를 원하는 많은 UNIX, LINUX 이용자들에게 많은 도움이 될 것 같다. Article의 일부만 발췌하면 다음과 같다.

Listing 5. 시스템 로그 파일 예제(/var/adm/messages)
Feb  3 16:06:58 solaris2 ata: [ID 496167 kern.info] cmdk2 at ata1 target 0 lun 0
Feb  3 16:06:58 solaris2 genunix: [ID 936769 kern.info] cmdk2 is
                                            /pci@0,0/pci-ide@1f,1/ide@1/cmdk@0,0
Feb  3 16:06:59 solaris2 asy: [ID 267298 kern.notice] asy0: UART @
                                          3f8 scratch register: expected 0x5a, got 0xff
Feb  3 16:06:59 solaris2 asy: [ID 702181 kern.notice] Cannot identify UART chip at 3f8
Feb  3 16:06:59 solaris2 asy: [ID 267298 kern.notice] asy1: UART @ 2f8 scratch register:
                                                                expected 0x5a, got 0xff
Feb  3 16:06:59 solaris2 asy: [ID 702181 kern.notice] Cannot identify UART chip at 2f8
Feb  3 16:07:01 solaris2 genunix: [ID 314293 kern.info] device
          pciclass,030000@2(display#0) keeps up device sd@1,0(sd#1), but the latter is
          not power managed
Feb  3 16:07:01 solaris2 /usr/lib/power/powerd: [ID 387247 daemon.error]
                                                                  Able to open /dev/srn
Feb  3 16:07:08 solaris2 /sbin/dhcpagent[164]: [ID 778557 daemon.warning]
                configure_v4_lease: no IP broadcast specified for ni0, making best guess
Feb  3 16:07:31 solaris2 sendmail[503]: [ID 702911 mail.crit] My unqualified host name
                                                  (solaris2) unknown; sleeping for retry
Feb  3 16:07:32 solaris2 sendmail[507]: [ID 702911 mail.crit] My unqualified host name
                                                  (solaris2) unknown; sleeping for retry
Feb  3 16:07:48 solaris2 svc.startd[7]: [ID 652011 daemon.warning]
           svc:/system/webconsole:console: Method "/lib/svc/method/svc-webconsole start"
  failed with exit status 95.
Feb  3 16:07:48 solaris2 svc.startd[7]: [ID 748625 daemon.error]
             system/webconsole:console failed fatally: transitioned to maintenance
(see 'svcs -xv' for details)
Feb  3 16:07:55 solaris2 pseudo: [ID 129642 kern.info] pseudo-device: devinfo0
Feb  3 16:07:55 solaris2 genunix: [ID 936769 kern.info] devinfo0 is /pseudo/devinfo@0
Feb  3 16:08:31 solaris2 sendmail[503]: [ID 702911 mail.alert] unable to qualify
                                    my own domain name (solaris2) -- using short name
Feb  3 16:08:32 solaris2 sendmail[507]: [ID 702911 mail.alert] unable to qualify my
                                       own domain name (solaris2) -- using short name

대표적인 로그 파일인 messages 로그이다. 이 외에도 dmesg, syslog 등에 대해서도 언급하고 있다.
링크 : http://www-128.ibm.com/developerworks/kr/library/au-satlogfilebasics/