https://velog.velcdn.com/images/jinuwuo/post/9311b517-42dc-49f1-9114-8a5d9304bf1f/image.png

기존에는 모니터링을 위해 CloudWatch를 사용했다. 거의 로그 확인용으로만 사용했고 기본적인 서버 메트릭을 제외하고는 유의미한 정보를 얻기 어려웠다. 따라서 데모데이 요구사항 중 TPS 테스트를 진행할 때 특정 API의 속도가 느려지는 문제 원인을 파악하는데에도 한계가 있었다. 로그를 검색하고 확인하는데에도 불편함이 컸다. 다양한 메트릭 정보를 수집하고 로그 데이터를 보다 효율적으로 확인하기 위해 Loki, Prometheus, Node Exporter, Grafana를 활용해 모니터링 시스템을 구축했다.

모니터링 시스템 인프라 구성도

https://velog.velcdn.com/images/jinuwuo/post/ae4a403e-e8dc-40ad-b796-b2f69d48f67e/image.png

Grafana

데이터 모니터링 및 데이터 시각화

Dashboard 서버에 Grafana 설치

  1. 설치에 필요한 패키지 설치
   sudo apt install -y apt-transport-https software-properties-common wget
  1. Grafana GPG 키 추가
sudo mkdir -p /etc/apt/keyrings/
wget -q -O - <https://apt.grafana.com/gpg.key> | gpg --dearmor | sudo tee /etc/apt/keyrings/grafana.gpg > /dev/null
  1. Grafana APT 저장소 추가
echo "deb [signed-by=/etc/apt/keyrings/grafana.gpg] <https://apt.grafana.com> stable main" | sudo tee -a /etc/apt/sources.list.d/grafana.list
sudo apt update
  1. Grafana 설치 및 서비스 시작
sudo apt install grafana
sudo grafana-server -v

https://velog.velcdn.com/images/jinuwuo/post/82ef0920-79d3-4f08-bc25-b11cb4d627ed/image.png

🧨 문제 상황 : Request Timed Out