TIL

Grafana

김영재0412 2023. 2. 11. 17:39

프로젝트 중 우리는 배포를 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 사용량 등 확인이 편하였고, 로깅도 잘 확인이 가능했다. 뿐만 아니라 얼마나 쓰고있는지 요금 또한 확인이 가능하기에 생각보다 도입하길 잘했다 라는 생각이 들었다. 

 

ELB ECS 모니터링
로그 및 요금

대시보드를 내가 직접 만든건 아니고 그라파나 랩에서 만들어진 대시보드를 가져와 적용시킨 것이고 ec2의 ip 주소는 그라파나의 포트번호를 입력하면 누구나 접속이 가능해서 팀원들도 확인할 수 있다.

 

그런데 누구나 접속이 가능하면 안 되는거 아닌가 라고 하면 맞는 말이다. 그래서 우선 처음 그라파나에 접속하면 아이디, 비번을 입력할 수 있는데 우선 비번을 1차적으로 변경하였고 2차적으론 EC2의 보안그룹의 인바운드를 로드밸런서 보안그룹, ssl말고는 다 막아두었고 그라파나는 나랑 팀원들만 접속이 가능해야하니 나랑 팀원들의 ip를 그라파나 포트번호만 열여줌으로 해결하였다.

 

 

그라파나(Grafana)란?

그라파나(Grafana)는 그라파나 랩(Grafana Labs)에서 오픈소스로 개발하고 있는 메트릭/로그 시각화 대시보드 애플리케이션입니다. 처음에는 그라파이트(Graphite)와 인플럭스DB(InfluxDB)와 같은 메트릭

www.44bits.io