본문 바로가기
Work/Server

[Linux] 서버 다운(shutdown) 로그 확인

지난밤 서버에 무슨일이 있었는지,

우리 프로세스가 제대로 동작하지않거나, 죽어있는경우

서버가 강제종료되지않았는지, 재부팅된건 아닌지, 의심스러울때가 있다.

 

리눅스에서 서버 재부팅, 셧다운 등에 대한 로그를 남기고 종료되기 때문에,

서버에 대한 장애원인파악이 쉽다!

 

1. 재기동 (reboot) 기록 확인  - last

last
#전체 로그인/로그아웃, 시스템 시작/종료 기록을 확인할 수 있다.

last -F
# 연도를 포함하여 시간을 자세하게 표시한다.

last -[숫자]
# 최대 출력하는 라인 수를 지정한다. (최근순)

last [계정명]
# 특정 계정의 로그인/로그아웃 기록을 확인할 수 있다.

last reboot
# 시스템 재부팅 로그를 확인 할 수 있다.

 

가장 최근에 서버의 리부트 기록은

1월25일 22:15 ~ 11:54 임을 확인할수 있다!...

재부팅 기록을 확인했다면, 누가, 왜 했는지 궁금할것이다.

3.10.0-1160.6.1. 로 기록되있는걸로 보아 커널(3.10.0-1060.6.1.el7.x86_64) 에서 수행된 것

즉, 특정 사용자가 ssh 특정 IP로 접속해서 명령어로 재부팅한게 아니라, 해당 PC에서 종료되었음을 알수있다.

 

2. 재기동 / 서버다운 원인로그 확인

sudo vi /var/log/messages

커널에서 서버를 종료직전 로그를 기록하는곳이다.

이곳에 부팅에 이유를 상세히 기록해준다.

 

가장 많은 리부트 종류

1. 사용자에 의한 종료

2. 소프트웨어 장애로 종료

3. 하드웨어 or 전원공급 등의 이유로 종료

 

보통은 로그 메세지를 보면서 서버관리자가 원인을 분석하지만

필자가 접했던 두가지 Case의 로그를 말하자면

 

1. Power Key Pressed

해당 서버를 물리적으로 종료시킨 경우 기록되는 에러로그

위에 로그와 전후로그들을 읽었을땐,

Localhost가 Power Button을 눌러 의도적으로 서버를 종료시켰고 (20:35),

22:15 에 재기동된것으로 유출할수 있습니다.

 

2.  Kernel command line: BOOT_IMAGE=/vmlinuz-3.10.0-957.27.2.el7.x86_64 . . . 

ssh를 통해 reboot시 command를 통해 부트이미지 실행에 대해서 로그를 남깁니다. 

 

그 외에 장애로 인한 종료시

쉽게 확인가능한 메세지로그를 알려주시면,

글에 추가하겠습니다.

감사합니다. 

 

 

 

참고사이트 

harryp.tistory.com/880 var/log/ 아래 파일별로 어떤 로그를 기록하는지 잘 정리되어있습니다.