RHEL 6 에서 dmesg를 통해 출력되는 kernel 메시지로그에 대해 인간 친화적인 timestamp로 출력되도록 하는 방법에 대한 안내이다.

 

RHEL 7 (또는 CentOS) 이상에서 커널메시지를 출력하기 위해 dmesg 명령을 입력하면 아래와 같이 uptime을 기준으로 시간이 출력된다.

 

RHEL 7, 8에 포함된 dmesg (util-linux  rpm 패키지에 포함된)는 -T 옵션을 제공하여 인간 친화적인 시간으로도 출력이 가능하다.

 

기본적으로 RHEL 6는 uptime 기준 시간도 출력이 되지 않는다.

uptime 기준으로 흘러간 시간을 출력되게 하려면 아래와 같이 적용한다.

그런데 RHEL 6의 dmesg (util-linux-ng  rpm 패키지에 포함된)는 -T 옵션을 제공하지 않는다.

 

RHEL 6에서 인간 친화적인 시간으로 출력되게 하려면 2가지 방법이 있다.

1) syslog를 통해 로깅되는 messages 로그활용

messages 로그는 인간친화적인 시각이 표기되어 있다.

2) 스크립트를 이용하여 시간을 변형하여 출력

아래 내용과 같은 dmesg.sh 스크립트를 profile.d에 위치 시킨다.

  • dmesg 를 쉘에서 입력하여 실행하면 기존 dmesg_with_human_timestamps 라는 함수를 실행하여 커널메시지를 출력해 준다.
  • 위 스크립트가 제대로 실행되려면 먼저 기본적으로 /sys/module/printk/parameters/time 또는 printk.time=1 이 적용되어 있어야 한다.
  • 적용 후 확인

 

print dmesg with timestamp in human readable on the RHEL 6

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다