FREEDOM. FRIENDS. FEATURES. FIRST.
페도라 한국 사용자 모임

Kernel Log Engine(klogd)+ syslogd + metalog

게시판 Tech/Tip Kernel Log Engine(klogd)+ syslogd + metalog

  • This topic has 2개 답변, 2명 참여, and was last updated 11 years 전에 by 인베인. This post has been viewed 17 times
  • 만든이
    게시글
  • #12045
    인베인
    참가자
    • 게시글141
    • 댓글379
    • 총합520
    • ★★
    @leemgs


    1. Kernel Log Engine(klogd)
    */proc/kmesg를 읽거나 sys_syslog 호출 후 메시지가 들어오기를 기다리면서 sleep 함.
    Kernel Message가 /proc/kmsg 에 들어가고 klogd가 이것을 분석해서 syslogd로 보내주어
    syslogd가 처리해주는 구조로 되어 있다. syslogd와 klogd가 실행중이라면 메시지는
    /var/log/messages에 추가 된다.

    로그관련 라이브러리나 함수들이 그렇듯이 printk도 우선순위(priority)를 가진다. 모두 8단계의 우선순위를 가지며
    <1> KERN_ALERT 와 같은 방식으로 결정할 수 있다. 이들 우선순위에 대한 선언정보는
    ./linux/kernel.h에서 확인할 수 있다. 만약 우선순위를 정하기 귀찮거나 정할 수 없다면 기본 우선순위
    DEFAULT_MESSAGE_LOGLEVEL을 사용하면 된다.

    * 장/단점
    단점 : 앞의 메시지를 읽어가지 않으면 잃어버릴 가능성 있음.
    장점 : 고정된 양의 메모리로 커널 메시지 처리 가능.

    *동작
    . klogd는 읽은 커널 메시지(/proc/kmesg)를 syslogd로 전달.
    . syslogd는 /etc/syslog.conf를 참조하여 메시지를 처리함.
    .메시지 종류 : 커널 or 사용자 프로세스 메시지
    .우선순위 : printk에서 사용한 우선 순위.
    . klogd가 실행되지 않으면 커널 메시지는 fifo 순서로 잃게 됨.
    fc6#> /sbin/klogd &
    fc6#> cat /var/log/messages
    or
    fc6#> klogd -o -f ./krnl.msg
    fc6#> klogd -c 4
    fc6#> kill -USR2 $(cat /var/run/klogd.pid)

    * klogd(커널 버전 1.3 이상)는 oops 메시지를 해석할 수 있음
    .시작 시 “-k /usr/src/linux/System.map” 인자를 주어야 함.
    .단점 : 모듈에 있는 심볼에 대해서는 해석을 하지 않는다. 최신 버전에서는 지원됨

    * BusyBox ver 0.60.5 이후부터 klogd 포함됨.
     ./busybox-1.2.2.1/sysklogd/klogd.c
     ./busybox-1.2.2.1/sysklogd/syslogd.c

    2. klogd/syslogd 시작시 화면
    Starting kernel log daemon: klogd.
    Starting system log daemon: syslogd.

    #>vi /etc/syslog.conf
    #> cat /var/log/messages
    #> cat /var/log/syslog

    3. 사용방법 도움말
    fc6#> man klogd

    4. syslogd, klogd 를 대체하는 metalog  Project( May 6, 2007)
    Metalog 는 syslogd 와 klogd 의 기능을 대체할 최신 로그 시스템이다.
    로그 메세지는 각 특성별로 분류되어 정리할 수 있으며, 로그 파일이 일정한 크기나 기간에 도달하게되면
    자동으로 바꿀 수 있도록 하는 기능도 제공한다.

    http://metalog.sourceforge.net/
    http://metalog.cvs.sourceforge.net/metalog/metalog/

    fc6#> ./configure
    fc6#> make install-strip
    fc6#> vi /etc/metalog.conf
    fc6#> /usr/local/sbin/metalog &
    fc6#> kill -USR2 $(cat /var/run/metalog.pid)

    * 오픈소스는 Open Innovationa & 윈윈전략을 도모할 지언정 절대 공짜(무료)임을 뜻하지 않는다.치

1 답변 글타래를 보이고 있습니다
  • 글쓴이
    답변
    • #12602
      ELem
      참가자
      • 게시글67
      • 댓글672
      • 총합739
      • ★★
      @Bardisch

      로그 읽는것도 시간때우기엔 좋죠[응?]

    • #12603
      인베인
      참가자
      참가자
      • 게시글141
      • 댓글379
      • 총합520
      • ★★
      @leemgs

      맞습니다. 시간 잘갑니다. ㅎㅎ 로그의 정확한 해석을 하려면 서서히 리눅스 커널의 세계로 들어가게 되죠.. 그때 부터 어둠은 시작되고....ㅋㅋ

       

      * 오픈소스는 Open Innovationa & 윈윈전략을 도모할 지언정 절대 공짜(무료)임을 뜻하지 않는다.치

1 답변 글타래를 보이고 있습니다
  • 답변은 로그인 후 가능합니다.