[Infra] Grafana를 이용한 Redis 모니터링 인프라 구축하기

손재명·2023년 3월 17일
1
post-thumbnail

Grafana?

Grafana는 많은 메트릭 데이터를 시각화 하여 대시보드로 보여주는 좋은 툴 입니다.

Grafana 설치 및 실행

직접 Grafana를 설치하고 실행하기에는 번거롭기 때문에, 이번 포스팅에선 Docker-Compose를 사용하겠습니다.

우선, Redis 서버가 배포되어있다는 가정하에 docker-compose.yml 파일을 생성합니다.

docker-compose.yml

version: '2'
services:
  grafana:
    image: grafana/grafana:latest
    environment:
      - GF_INSTALL_PLUGINS=redis-datasource
    restart: always
    ports:
      - 3000:3000

실행

docker-compose up -d

위의 명령어로 해당 docker-compose 파일을 실행 합니다.

WARNING: Found orphan containers (redis_boot, prod-redis-stats) for this project. If you removed or renamed this service in your compose file, you can run this command with the --remove-orphans flag                                                          to clean it up.
Pulling grafana (grafana/grafana:latest)...
latest: Pulling from grafana/grafana
895e193edb51: Pull complete
a3e3778621b5: Pull complete
e7cf2c69b927: Pull complete
df40c119df08: Pull complete
3b29ea6a27af: Pull complete
3997cd619520: Pull complete
7e759f975aac: Pull complete
ff133072f235: Pull complete
f9a56094a361: Pull complete
Digest: sha256:76dcf36e7d2a4110c2387c1ad6e4641068dc78d7780da516d5d666d1e4623ac5

실행이 완료되면 위 처럼 실행됩니다.
정상적으로 실행되었는지 확인을 위해 docker ps 명령어로 확인해줍니다.

정상적으로 실행이 되어 배포까지 완료되어 있는걸 볼 수 있습니다.
그렇다면 grafana로 접속합니다.

접속
서버주소:3000

접속하게 되면 로그인 페이지가 뜨는데, 기본 아이디 패스워드는 admin / admin 입니다.

Grafana 설정
로그인이 되었다면 이제 Grafana에서 기본 설정을 해주겠습니다.

1. 톱니 바퀴 버튼을 누르고 Data sources를 클릭합니다.

2. Add new data source 를 클릭 후 redis를 검색해 찾습니다.

3. 배포되어있는 Redis 서버의 설정을 입력해주고 Save&test 해주세요

5. 이후 아래 링크에 접속하여 Get this dashboard내에 Id를 복사해주세요
https://grafana.com/grafana/dashboards/12776

  1. dashboards내에 import를 눌러 방금 복사한 Id를 입력하고 Load해주세요

결과

정상적으로 설정이 완료되었다면 Dashboard로 들어오게되면 아래처럼 잘 작동하는것을 확인 할 수 있어요.

마치며,

장애를 대응하기 위해선 어떤 이유로 장애가 발생했는지 알아야 대응할 수 있어요.
그런 이유에서 Grafana는 개발자에게 어떤 이유에서 장애가 발생했고 어떤 시점에서 발생했는지 한눈에 보여주고 알림까지 주는 정말 좋은 툴이라고 생각해요.
Dashboard 기능이외에도 지원되는 기능들이 많으니 한번 공부해보시면 좋을거 같아요!

profile
”빠르게 성장하는 로켓 개발자“ 성장하는 과정을 기록하다.

0개의 댓글