[발견시각]
23:47
[상황분석]
17:54 분에 파일 업로드를 동반한 게시글을 업로드함과 동시에 sql 서버가 다운됐다.
django 서버는 500 에러 안내 페이지를 뿜뿜 잘 내고 있는것으로 보아,,
어이없지만 아마 sql 서버 용량이 100퍼센트를 초과해서 발생한 것으로 보였다.
당장 서버 접속해서 용량 확인했더니,, usage 100%.... mysql 은 죽어있었다.
[대처]
- 기존의 aws EBS 볼륨을 스냅샷으로 복구
- aws EBS 볼륨 크기 확장
- ubuntu 에서 해당 확장된 파티션 적용
했더니만 tmp 폴더가 초기화가 되어버렸다.
그래도 무중단으로 해결해보려고 했는데,,, ㅜㅜ
장고서버 소켓 파일을 tmp 폴더에 뒀었는데 사라져버려서
nginx 가 502 에러를 대신 뿜뿜해주었다....
다시 장고 서버 켜고 정상화시켰다.
[수정사항]
1. 메모리나 디스크가 일정 수준이 되면 알람이 오도록하는 자동 모니터링 시스템을 찾아봐야겠다.
2. 에러가 발생했을 때 gmail 로 알림이 오도록 설정해두었는데, 핸드폰이랑 해당 계정을 연결해두지 않아서 제때 확인을 못했다. 조만간 갈아치울 레거시라고 생각하다보니 모니터링에 소홀해진듯하다... 반성하고 이메일 잘 확인해야겠다.
(2022-6-13) 문득 생각난 것. mysql 같은 thread 기반 db 는 확실히 성능이 가볍고 빠른편에 속하지만, postgreSQL 같은 프로세스 기반 db 를 사용했다면, 위처럼 프로세스가 하나 죽어서 서비스가 마비되는 일은 없었을 듯 하다.
'웹 프로젝트 (IBAS) > 서버 장애 기록' 카테고리의 다른 글
520 Error 해결 (Cloudflare) (0) | 2022.06.21 |
---|---|
[서버 장애 (2022-01-11 21:20)] 갑자기 다른 TLS 인증서가 적용됐다?! 홈페이지 차단당함 ㅠ (0) | 2022.03.01 |
[서버 장애 (2021-09-13 12:22)] uwsgi --ini 과 linux effectiveUser 에 대한 문제 (0) | 2022.03.01 |