우당탕탕

[Linux] 서버 장애 요인파악 순서 본문

Linux

[Linux] 서버 장애 요인파악 순서

모찌모찝 2022. 9. 6. 07:00
리눅스 서버가 죽었다... 뭘 해야 할까?


만약 운영하던 서버에서 갑자기 문제가 터졌을 때 어떻게 처리할 것인가?
서버에서 문제가 생겼을 경우에는 일단 서버의 상태를 체크해야 하는데 이에 대한 서버 체크리스트에 대해 작성해보려 한다.

먼저 해당 서버의 터미널로 접속해야 한다.
접속을 했다면 이제 상태를 한번 살펴보자

1. CPU 상태 확인 

현재 서버가 어떤 이유 때문에 오류가 발생했는지 찾기 위해 먼저 CPU 상태를 확인한다.
top 명령어를 통해 실행 중인 프로세스가 CPU 점유를 너무 많이 하고 있지는 않은지 확인하고 처리한다.

$ top

2. 메모리 상태 확인

[Linux/Ubuntu] 리눅스/우분투 스왑 파일(Swapfile) 생성에서도 설명하였지만 메모리가 부족하면 서버가 멈춘다.
이를 해결하기 위한 방법이 위의 글이며, free 명령어를 통해 확인할 수 있다. 아래에는 상세 옵션도 함께 작성한다.
[ 커널 패닉이 나지 않도록 하기 위해서는 최소 500메가 이상은 남아있어야 한다. ]

$ free -[옵션]
[옵션]
-b, -k, -m, -g : 바이트, 킬로바이트, 메가바이트, 기가바이트 단위로 출력 --tera, --peta : 테라바이트, 페타바이트 단위로 출력
-h, --human : 자동으로 단위를 조정해서 출력
-w, --wide : 와이드 모드로 실행. cache와 buffers를 따로 출력
-c, --count : 지정된 반복만큼 결과 출력
-l, --lohi : 최고/최저 메모리 상황 출력. Low와 High로 구분되어 출력
-s, --sceonds : 지정된 n초마다 출력
-t, --total : 합계가 계산된 결과를 Total line에 출력

3. 프로세스(스레드) 확인

현재 우리가 실행시킨 프로세스가 살아있는지 확인한다. 서버가 죽어있을 수도 있다.

$ ps -ef | grep [프로세스 이름]

4. 서비스/데몬 확인

데몬이란 백그라운드에서 돌아가는 프로세스를 의미한다. 아래의 명령어를 통해 데몬 상태로 돌아가고 있는지 확인할 수 있다.

$ service [데몬명] status

5. 서버의 요청 확인

서버에 사람들이 몰려서 지연되는지도 확인해봐야 한다. 아래의 명령어로 확인한다.

$ netstat -nap | grep ESTAB | wc
$ netstat -nap | grep TIME_WAIT | wc

 

6. 디스크 용량 확인

서버의 디스크가 꽉 차게 되면 더 이상 파일을 생성하지 못해 서버는 죽게 된다. 아래의 명령어를 통해 빈 공간이 얼마나 남았는지 확인한다.
스왑 파일을 너무 크게 설정 시에도 이러한 문제가 생기니 조절해서 생성해야 한다.

$ df -uh

 7. 로깅 파일 관련

서버를 기동 하면서 생긴 로그파일의 용량이 너무 커지게 되면 서버 성능 저하를 불러온다. 이에 관련 내용인 블로그를 대신 첨부한다. https://server-talk.tistory.com/271

'Linux' 카테고리의 다른 글

[Linux/Ubuntu] 리눅스/우분투 스왑 파일(Swapfile) 생성  (0) 2022.09.03
Comments