Infra

Infra

<Infra> ubuntu 환경에서 의문사한 docker container 사인 규명

📌 사라진 서버 컨테이너All:Chive 회의를 했다.회의하는데 로그인이 안된다고 한다.뭐지 하고 ec2 접속해서, sudo docker ps해봤더니, 엔지닉스만 남아있다;;;보통 블로그 쓸 거였으면, 사진이라도 남겨뒀을 텐데여긴 사진도 못 남겼다... 당황해서;;일단 도커 컴포즈로 서버 복구만 시켜두고 원인을 찾아봤다. 📌 원인 규명🟢 CloudWatch All:Chive 서버에는 로그 보기 편하게, CloudWatch를 적용해뒀다.컨테이너가 종료된 걸 보고, 서버가 오류 나서 강제 종료된 건가 싶어서 로그를 켜봤다.종료될 때쯤, 서버에 아무런 요청이 없었고, 에러도 없었다.의문사했다.그래서 CPU 문제인가 싶어서 EC2 지표도 봤다.지표도 뭔가 이상하다.요청이 없는데 CPU 사용률이 저렇게 올라..

Infra

<Infra> Slack 이용하여 Error 알림 구현하기

📌이걸 왜?서버를 배포하게 되면 로그를 켜보지 않는 이상 에러 발생 여부에 관해 알기 힘들다로그를 보는 것보다 더 편하게 알 수 있는 방법이 있을까?에러를 슬랙이나 디스코드 알림처럼 볼 수 있으면 어떨까?에러가 발생하면 슬랙 알람이 오도록 구현해 보도록 하자 📌 알림 구현하기🔵 어떤 방식으로 구현했나?Global Exception Handler에서 500번대 에러를 처리하는 곳에 slack 메시지를 보내는 로직을 추가했다.이를 통해 500번대 error가 발생하면, 에러 내용과 request 정보에 관해 slack 메시지로 보내지도록 했다.또한 dev와 prod를 구분했다. 사실 실 서버에서만 작동하도록 구현해도 된다.하지만 개발 상황에서도 500번 에러를 발견하기 어렵다고 생각해서, 두 상황을 구..

Infra

<Infra> Spring Slack 메세지 전송 (Incoming Webhook)

📌 슬랙 연결 방법 선택 구현할 기능이 메세지 전송이기 때문에 위 방법 중에서, Web API 혹은 Webhook을 사용할 수 있다. Slack API: Slack에서 제공하는 다양한 기능(메세지, 채널 관리, 파일 업로드, 유저 정보)을 사용할 수 있는 인터페이스이다. Slack API를 사용하는 경우 API 토큰이 필요하며, 해당 토큰을 사용하여 인증 및 권한 부여를 받아야 한다. Slack Incoming Webhook: Slack Incoming Webhook은 새로운 메시지를 특정 채널에 자동으로 게시할 수 있는 방법이다. Incoming Webhook을 생성한 후 Webhook URL을 사용하여 새로운 메시지를 게시할 수 있다. Webhook URL은 인증 및 권한 부여가 필요하지 않으며, 누..