프로젝트 중 우리는 배포를 ECS로 하였고, 로깅, 모니터링을 Cloud Watch, 컨테이너는 Container Insights를 통해 하였다. 여기서 문제가 생겼다. 배포 후에 프론트에서 400번, 500대 에러가 나오면 인프라, 배포 담당인 나는 그냥 내 아이디로 로그인해서 로그를 보면 되지만, 팀원들은 볼 방법이 없었다. 간단하게 내 AWS 아이디, 비번를 공유하면 해결되는 문제이지만 너무 야매적인 방법이었다.
우선, AWS 조직을 만들어서 했으면 쉽게 해결할 수 있는 문제였다. 하지만, 솔직히 프로젝트 초기 단계에 누가 조직을 만들 생각을 했을까.
또한, 개인적으로 Cloud Watch의 로깅, 모니터링은 왜인지 모르게 보기 불편했다. 내가 잘 몰라서 불편했을수도 있는거지만 뭔가 그래프나 나뉜 느낌?? 따로 대시보드를 만들면 되긴 하지만 뭔가 좀 더 나은 방법이 있을거 같았다.
그러던와중 올리브영테크블로그에서 ECS Fargate로 datadog로 모니터링을 하는 글을 봤다.
Datadog - "저는 모니터링 요정입니다. ✋🏻" | 올리브영 테크블로그
ECS Fargate 에서 Datadog 을 연결해보자
oliveyoung.tech
요약하면 Datadog 컨테이너를 돌려 각 서버컨테이너들의 매트릭을 받아와 모니터링 해주는 거 같았다. 그런데 우린 Cloud Watch를 통해서 이미 로깅, 모니터링을 다 하고있기에 Datadog을 이용해서 하면 좋겠지만 굳이라는 생각이 들었다. 우리가 필요한건 모니터링의 좀 더 나은 시각화, 로깅 공유였다. 그래서 모니터링 시각화를 찾던 중 그라파나를 발견했다.

그라파나는 그라파나 랩에서 오픈소스로 개발하고 있는 메트릭/로그 시각화 대시보드 애플리케이션이다. 보통은 프로메테우스랑 많이 쓴다고 하고 cloudwatch랑도 쓸 수 있기에 사용하기로 마음 먹었다.
그라파나를 이용하니 확실히 모니터링이 한눈에 잘 들어왔다. 500번대 에러가 몇번 떴는지, 리퀘스트가 얼마나 들어오는지, EC2의 CPU 사용량 등 확인이 편하였고, 로깅도 잘 확인이 가능했다. 뿐만 아니라 얼마나 쓰고있는지 요금 또한 확인이 가능하기에 생각보다 도입하길 잘했다 라는 생각이 들었다.




대시보드를 내가 직접 만든건 아니고 그라파나 랩에서 만들어진 대시보드를 가져와 적용시킨 것이고 ec2의 ip 주소는 그라파나의 포트번호를 입력하면 누구나 접속이 가능해서 팀원들도 확인할 수 있다.
그런데 누구나 접속이 가능하면 안 되는거 아닌가 라고 하면 맞는 말이다. 그래서 우선 처음 그라파나에 접속하면 아이디, 비번을 입력할 수 있는데 우선 비번을 1차적으로 변경하였고 2차적으론 EC2의 보안그룹의 인바운드를 로드밸런서 보안그룹, ssl말고는 다 막아두었고 그라파나는 나랑 팀원들만 접속이 가능해야하니 나랑 팀원들의 ip를 그라파나 포트번호만 열여줌으로 해결하였다.
그라파나(Grafana)란?
그라파나(Grafana)는 그라파나 랩(Grafana Labs)에서 오픈소스로 개발하고 있는 메트릭/로그 시각화 대시보드 애플리케이션입니다. 처음에는 그라파이트(Graphite)와 인플럭스DB(InfluxDB)와 같은 메트릭
www.44bits.io
'TIL' 카테고리의 다른 글
| MongoDB Atlas Trigger - event Bridge - lambda (0) | 2023.02.16 |
|---|---|
| Auto Scaling, Capacity Provider, Discord WebHook (1) | 2023.02.13 |
| AWS API Gateway lambda 권한부여자 (1) | 2023.01.30 |
| AWS API Gateway 권한 (0) | 2023.01.29 |
| Simple & Easy Notification Service + AWS lambda (0) | 2023.01.22 |