Grafana란? 메트릭 데이터를 시각화하는 오픈소스 모니터링 도구 사용법

전략 테크
2시간 전
조회수
7
대시보드로 데이터를 확인하고 있습니다.

 

Grafana는 서버, 애플리케이션, 데이터베이스, 클라우드 환경에서 수집된 데이터를 시각화하고 모니터링할 수 있도록 설계된 오픈소스 대시보드 플랫폼입니다.

기존 모니터링 방식이 개별 시스템 상태를 각각 확인하는 데 가까웠다면, Grafana는 다양한 데이터 소스를 연결해 전체 서비스 흐름을 한 번에 파악할 수 있도록 돕습니다. 특히 CPU 사용량, 네트워크 트래픽, 응답 속도, 장애 발생 여부처럼 운영에 중요한 지표를 시각적으로 관리할 수 있습니다.

이 글에서는 Grafana의 개념과 주요 기능을 살펴보고, Docker와 Prometheus를 활용해 실제 메트릭 데이터를 대시보드로 시각화하는 방법까지 정리해보겠습니다.

 

Grafana 핵심 요약

  • Grafana는 서버, 애플리케이션, 데이터베이스, 클라우드 데이터를 시각화하는 오픈소스 모니터링 대시보드 도구입니다.  CPU, 메모리, 트래픽, 응답 속도 같은 운영 지표를 한 화면에서 확인해 장애 대응과 성능 점검에 활용할 수 있습니다.
  • Grafana의 핵심은 다양한 데이터 소스를 연결해 하나의 대시보드로 구성하는 것입니다.  Prometheus, Loki, MySQL, Elasticsearch, CloudWatch 등을 연결해 메트릭, 로그, 클라우드 지표를 시각화할 수 있습니다.
  • Docker와 Prometheus를 함께 사용하면 Grafana 실행 환경을 빠르게 구성하고, 데이터 저장 공간까지 안정적으로 관리할 수 있습니다. Grafana를 직접 설치하지 않아도 컨테이너로 실행할 수 있으며, Prometheus 데이터를 연결해 메모리 사용량, CPU 사용량 같은 지표를 패널로 시각화할 수 있습니다. 
  • Grafana는 데이터를 직접 수집하는 도구가 아니라, 외부 데이터 소스를 시각화하는 도구입니다. 따라서 실제 운영 환경에서는 Prometheus나 Loki 같은 수집 도구를 함께 구성하고, 비밀번호·알림·대시보드 관리도 신경 써야 합니다.

 

Grafana란?

Grafana란 무엇인지 특징을 정리했습니다.

Grafana 서버, 애플리케이션, 데이터베이스, 클라우드 인프라에서 발생하는 다양한 데이터를 한눈에 볼 수 있도록 시각화해주는 오픈소스 모니터링 대시보드 도구입니다. 서비스 운영 중에는 CPU 사용률, 메모리 사용량, 트래픽, 응답 속도, 에러율, 로그, 알림 상태처럼 계속 확인해야 할 지표가 많습니다. 

Grafana는 이런 데이터를 그래프, 테이블, 게이지, 히트맵 같은 형태로 정리해 운영자가 현재 시스템 상태를 빠르게 이해할 수 있도록 도와줍니다. 

 

Grafana의 주요 기능 

Grafana의 주요기능에 대해 정리했습니다.

Grafana의 주요 기능은 크게 데이터 소스 연결대시보드 구성데이터 시각화알림 설정으로 정리할 수 있습니다. 이 4가지를 이해하면 Grafana가 실무에서 어떤 역할을 하는지 파악하기 쉽습니다.

 

1. 다양한 데이터 소스 연결

Grafana는 Prometheus, Loki, Elasticsearch, InfluxDB, MySQL, PostgreSQL, Azure Monitor, AWS CloudWatch 등 다양한 데이터 소스와 연결할 수 있습니다. 

서버 지표, 애플리케이션 로그, 데이터베이스 상태, 클라우드 리소스 사용량처럼 서로 다른 곳에 있는 데이터를 하나의 화면에서 확인할 수 있다는 점이 가장 큰 장점입니다.

 

2. 모니터링 대시보드 구성

Grafana의 핵심 기능은 대시보드입니다. CPU 사용률, 메모리 사용량, 트래픽, 응답 속도, 에러율 같은 지표를 여러 패널로 구성해 서비스 상태를 한눈에 볼 수 있습니다. 대시보드는 팀별로 공유하거나 권한을 설정해 운영할 수 있어, 개발팀 · 인프라팀·운영팀이 같은 화면을 보며 장애 대응과 성능 점검에 활용할 수 있습니다.

 

3. 다양한 형태의 데이터 시각화

Grafana는 데이터를 그래프, 테이블, 게이지, 히트맵, 상태 타임라인 등 다양한 형태로 보여줍니다. 

숫자만으로는 파악하기 어려운 변화 흐름을 시각적으로 확인할 수 있어, 트래픽 증가 시점이나 에러율 상승 구간을 더 빠르게 이해할 수 있습니다. 특히 시간에 따라 변하는 시계열 데이터를 보기 좋게 표현하는 데 강점이 있습니다.

 

4. 이상 징후 감지를 위한 알림 설정

Grafana 특정 조건이 발생했을 때 알림을 보내도록 세팅할 수 있습니다. CPU 사용률이 일정 기준을 넘거나, 응답 속도가 느려지거나, 에러율이 증가하는 상황을 조건으로 설정하면 이메일, Slack, Teams, Webhook 등으로 알림을 받을 수 있습니다. 

덕분에 사용자는 대시보드를 계속 확인하지 않아도 이상 징후를 빠르게 파악할 수 있습니다. 

 

Docker를 활용해 

Grafana 대시보드를 제작하는 방법

Docker를 활용해   Grafana 대시보드를 제작하는 방법을 정리했습니다.

Docker를 사용하면 Grafana를 직접 설치하지 않아도 브라우저에서 바로 Grafana 대시보드 화면에 접속할 수 있습니다. Docker를 활용해 Grafana 대시보드를 제작하는 방법을 알려드리겠습니다.

 

1. Docker에 Grafana 컨테이너 생성

Grafana를 Docker로 실행하기 위해 먼저 Docker에 버전을 확인합니다. 

Docker Hub 기준으로 grafana/grafana 이미지는 Docker Desktop 4.37.1 이상을 요구되므로, 이 이하의 버전을 사용중이라면  Docker Desktop을 최신 버전으로 설치한 뒤 진행하는 것이 좋습니다.

docker --version

설치된 Docker 버전을 확인하려면 터미널 또는 명령 프롬프트에서 위의 명령어를 입력합니다.

 

docker volume create grafana-storage

Grafana 데이터를 저장할 공간을 만들기 위해 위의 명령어를 실행합니다. 목록에 grafana-storage가 보이면 Grafana 데이터를 저장할 Docker 볼륨이 정상적으로 생성된 것입니다. 

 

docker run -d --name=grafana -p 3000:3000 -v grafana-storage:/var/lib/grafana grafana/grafana

Docker 볼륨이 생성되었다면 Grafana 컨테이너를 실행하기 위해 위의 명령어를 입력합니다.

 

http://localhost:3000

Grafana 웹 화면을 확인하기 위해 브라우저에서 위의 주소로 접속합니다. 

 

2. Grafana에서 데이터 가져오기

 

브라우저에서 http://localhost:3000으로 접속하면 Grafana 로그인 화면이 나타납니다. 처음 접속할 때는 기본 계정으로 로그인할 수 있습니다. 

- 초기 ID: admin 

- 초기 PW: admin 

로그인 후 계정 비밀번호를 원하는 비밀번호로 변경한 뒤 저장합니다.

 

Grafana에서 데이터를 연동하기 위해 Add new connection을 클릭합니다.

Grafana가 연동할 데이터를 가져오기 위해 왼쪽의 Connections를 클릭한 뒤 Add new connection을 클릭합니다.

 

Grafana 대시보드에 서버 상태를 시각화하기 위해 Prometheus를 설치합니다.

Grafana 대시보드에 서버 상태를 시각화하기 위해 Prometheus 데이터를 가져옵니다. Prometheus는 CPU, 메모리, 네트워크, 요청 수 같은 메트릭 데이터를 수집하는 도구이며, Grafana는 이 데이터를 불러와 그래프와 패널 형태로 보여줍니다. 

Prometheus 연동을 위해 Prometheus Install 버튼을 클릭합니다. 

 

Grafana에서 Prometheus 데이터를 가져오기 위해 우측 상단의 Add new date source를 클릭합니다. 

우측 상단에 Add new data source 버튼을 클릭합니다.

 

Prometheus에 접속할 수 있게  주소 입력란에 주소를 입력합니다.

Docker 컨테이너 안에서 실행 중인 Grafana가 내 PC에서 실행 중인 Prometheus에 접속할 수 있게 하기 위해 Connection 주소 입력란에 http://host.docker.internal:9090 를 입력한 뒤 하단의 Save & test 버튼을 클릭합니다.

 

정상 연결되면 Successfully queried the Prometheus API 또는 비슷한 성공 메시지가 나옵니다. 

 

Grafana에서 대시보드를 생성하기 위해 create dashboard 버튼을 클릭합니다.

Prometheus 데이터 소스 연결이 완료되었다면, 이제 대시보드를 만들 차례입니다. Grafana 홈 화면 왼쪽 사이드 바에서 Dashboards를 클릭한 뒤 Create dashboard 버튼을 선택해 새로운 대시보드를 생성합니다. 

 

Grafana에서 대시보드에 새로운 그래프 패널을 추가하기 위해 + 버튼을 클릭합니다.

대시보드에 새로운 그래프 패널을 추가하기 위해 우측 Panel 영역의 + 버튼을 클릭합니다. 

 

Grafana 대시보드에 Prometheus 데이터를 표시하기 위해 configure visualization 버튼을 클릭합니다.

대시보드에 Prometheus 데이터를 표시하기 위해 Configure visualization 버튼을 클릭해 새 패널을 추가합니다. 

 

Metric에 up을 선택한 뒤 Run queries을 클릭합니다.

Metric에 up을 선택한 뒤 Run queries를 클릭합니다. up은 Prometheus가 모니터링 대상을 정상적으로 확인하고 있는지 보여주는 기본 지표로, 값이 1이면 정상 응답 중이고 0이면 연결에 문제가 있다는 뜻입니다. 

따라서 Grafana와 Prometheus가 정상적으로 연동되었는지 확인하는 첫 번째 지표로 사용하기 좋습니다. 

 

 Grafana가 Prometheus up 메트릭 데이터를 가져왔는지 확인합니다.

화면 아래에 {__name__="up", app="prometheus", instance="localhost:9090", job="prometheus"}가 표시되면 Grafana가 Prometheus에서 up 메트릭 데이터를 정상적으로 불러왔다는 의미입니다. 

up 메트릭 값이 1로 표시된다면 Prometheus가 모니터링 대상을 정상적으로 확인하고 있으며, Grafana 역시 Prometheus 데이터를 문제없이 가져오고 있다고 볼 수 있습니다. 

 

grafana 대시보드 생성을 위해 대시보드의 역할을 설명합니다.

우측 상단의 Save 버튼을 클락하면 대시보드 저장 화면이 나타납니다. Title에는 대시보드의 이름을 Description에는 대시보드의 목적을 입력한 뒤 Folder를 Dashboards로 지정한 뒤 Save 버튼을 클릭해 저장합니다.

 

grafana를 사용하면 여러 대시보드 화면을 한 화면에 표시할 수 있습니다.

Grafana는 첨부 이미지처럼  필요한 지표를 여러 패널로 나누어 하나의 대시보드에 구성할 수 있습니다.

이를 통해 운영자는 여러 데이터를 따로 확인하지 않고도 서버나 서비스의 상태를 한 화면에서 빠르게 파악할 수 있습니다. 

Grafana에서는 아래와 같은 데이터 소스를 연결해 대시보드로 시각화할 수 있습니다.

데이터 소스

역할

Prometheus

서버 CPU, 메모리, 트래픽 같은 메트릭 데이터를 수집해 Grafana에서 시각화

Loki

애플리케이션 로그 데이터를 수집하고 Grafana에서 검색·분석

MySQL / PostgreSQL

데이터베이스에 저장된 데이터를 쿼리해 시각화

Elasticsearch

로그 검색 및 분석 데이터를 Grafana 대시보드로 시각화

AWS CloudWatch

AWS 서버, Lambda, RDS 같은 클라우드 지표 확인

Azure Monitor

Azure 클라우드 리소스 모니터링 데이터 연결

InfluxDB

시계열 데이터를 저장하고 Grafana에서 분석

이번 콘텐츠에는 Prometheus와 연동해 메트릭 데이터를 시각화했지만 이후 로그나 클라우드 지표까지 확장하면 더 실무적인 모니터링 환경을 구성할 수 있습니다.

 

Grafana 사용 시 주의할 점 

Grafana 사용 시 주의할 점을 정리했습니다.

 

Grafana는 데이터를 수집하지 않습니다

Grafana는 시각화 도구입니다. 데이터를 직접 수집하거나 저장하지 않고, Prometheus나 Loki 같은 외부 데이터 소스에서 가져와 보여주는 구조입니다. 

Grafana만 설치한다고 대시보드가 바로 동작하지 않으며, 데이터를 수집하는 별도 도구를 함께 구성해야 합니다. Grafana를 처음 도입할 때 이 부분을 간과하면 설정 단계에서 막히는 경우가 많습니다.

 

초기 비밀번호를 반드시 변경해야 합니다

Grafana의 기본 계정은 admin / admin입니다. 설치 후 비밀번호를 변경하지 않으면 외부에서 접근 가능한 환경에서 보안 위협이 생길 수 있습니다. 

처음 로그인할 때 비밀번호 변경을 요구하지만, 건너뛰거나 잊고 넘어가는 경우가 있으므로 설치 직후 반드시 확인해야 합니다.

 

알림 기준을 너무 민감하게 설정하면 역효과가 납니다

알림 조건을 지나치게 낮은 임계값으로 설정하면 불필요한 알림이 반복적으로 발생합니다. 알림이 너무 잦아지면 담당자가 피로감을 느끼고 실제 중요한 이상 징후를 놓치는 상황이 생깁니다. 

운영 환경의 평균 수치를 먼저 파악한 뒤, 실제 문제가 되는 수준을 기준으로 조건을 설정하는 것이 좋습니다.

 

대시보드가 많아질수록 관리 비용도 커집니다

관리되지 않는 대시보드는 데이터 소스 변경이나 쿼리 수정 시 일괄 대응이 어려워집니다. 초기부터 대시보드 구조와 명명 규칙을 정해두고, 팀 공용 대시보드와 개인 작업용 대시보드를 구분해서 운영하는 것이 좋습니다.

 

AI 에이전트 활용부터 제품 기획까지 IT 프로젝트를 위한 콘텐츠

하네스 엔지니어링이란? AI 에이전트 제대로 쓰려면 이것부터

POC란 무엇일까? IT 프로젝트 시작 전이라면 반드시 알아야 할 기준

온톨로지가 AI의 판단력을 바꾸는 이유 - 온톨로지 완벽 가이드

 

FAQ

freelancerBanner
projectBanner
댓글0
이랜서에 로그인하고 댓글을 남겨보세요!
0
/200
이랜서에 로그인하고 댓글을 남겨보세요!
0
/200
실시간 인기 게시물
이랜서 PICK 추천 게시물