본문 바로가기
IT기술

Grafana(그라파나), 그것이 알고싶다

by romydady 2024. 5. 20.

Grafana logo

Grafana 개요

Grafana는 모니터링과 관측을 위한 다중 플랫폼 오픈 소스 플랫폼입니다. 지원되는 데이터 소스에 연결하면 데이터를 쉽게 시각화하고 이해할 수 있습니다. Grafana는 차트, 그래프, 알림을 제공하여 데이터 위치에 관계없이 메트릭을 이해하는 데 도움을 줍니다. Grafana 대시보드는 다양한 소스의 데이터를 이해하는 데 도움을 줄 뿐만 아니라, 생성한 대시보드를 팀원들과 공유하고 탐색할 수 있게 합니다.

<Grafana 대시보드>

  • Grafana는 다양한 데이터베이스에서 데이터를 쿼리, 시각화, 경고 및 탐색할 수 있는 기능을 제공합니다. 
  • 팀 간 데이터 공유와 문제 해결을 위한 협업을 지원합니다. 
  • 웹 기반 대시보드와 차트, 그래프, 경고 기능을 제공합니다

Grafana의 몇 가지 전형적인 적용 사례:

  • Zabbix, PRTG, Icinga, Checkmk 등과 같은 네트워크 모니터링 도구에서 생성된 데이터 시각화.
  • CPU, 메모리, 네트워크 및 기타 리소스 사용량의 시각화.
  • 웹 애플리케이션에 대한 높은 수의 웹 요청 수를 시각화하고 알림.
  • API, 프론트엔드 앱, 데이터베이스 등 플랫폼 구성 요소의 건강 상태 모니터링.

시계열 데이터는 Grafana에서 모니터링 및 시각화를 위해 지원되는 데이터 유형입니다. 이 때문에 Grafana는 InfluxDB, Prometheus, Graphite와 같은 시계열 데이터베이스 또는 시계열 데이터베이스를 지원하는 도구와 함께 자주 사용됩니다.

Grafana의 주요 기능은 다음과 같습니다:

  • 시각화: Grafana는 열 지도, 히스토그램, 그래프, 지도 등 다양한 형식으로 데이터를 시각화할 수 있는 유연한 시각화 기능을 지원합니다.
  • 플러그인: Grafana의 진정한 힘은 확장성에 있습니다. 플러그인을 사용하여 Grafana의 기존 기능을 확장하거나 새로운 데이터 소스 및 위젯 유형을 추가할 수 있습니다.
  • 알림: 한 곳에서 모든 알림을 생성, 관리, 무음 처리할 수 있습니다.
  • 변환: 다양한 쿼리 및 데이터 소스에 걸쳐 이름을 변경하고, 요약하고, 결합하며, 계산을 수행할 수 있습니다.
  • 주석 달기: 다양한 데이터 소스에서 발생하는 풍부한 이벤트로 그래프에 주석을 달 수 있습니다.
  • 패널 편집기: 패널 편집기를 사용하면 모든 패널을 쉽게 구성, 사용자 정의 및 탐색할 수 있습니다.
  • 협업: Grafana 대시보드에서 얻은 통찰력을 회사, 팀, 세계와 쉽게 공유할 수 있습니다.

Grafana는 세 가지 에디션으로 제공됩니다: 무료 오픈 소스 버전, 완전 관리형 클라우드 서비스, 그리고 자체 관리 환경이 필요한 조직을 위한 엔터프라이즈 에디션입니다.

Grafana 설치 및 설정

Grafana 오픈 소스 및 엔터프라이즈 에디션은 자체 관리가 가능하며, 자체 인프라에서 실행할 수 있습니다. 온프레미스에 Grafana를 배포하려면 최소 소프트웨어 및 하드웨어 요구 사항(메모리 255MB 및 CPU 코어 1개)을 충족해야 하며, 지원되는 데이터베이스(SQLite 3, MySQL 5.7+, PostgreSQL 10+ 등)와 현대적인 웹 브라우저가 필요합니다. 지원되는 OS에는 Debian/Ubuntu, RPM 기반 리눅스(CentOS, Fedora, OpenSuse, RedHat), macOS 및 Windows가 포함됩니다.

Grafana는 Debian/Ubuntu, RPM 기반 리눅스(CentOS, Fedora, OpenSuse, RedHat), macOS, Windows와 같은 지원되는 OS에 네이티브 패키지를 사용하여 설치할 수 있습니다.

Grafana Enterprise 또는 Grafana 오픈 소스는 Alpine 및 Ubuntu용으로 제공되는 Docker 이미지를 사용하여 설치하고 실행할 수 있습니다. Grafana Docker 이미지를 배포하는 방법에 대한 자세한 내용은 공식 문서 페이지를 확인하십시오.

한편, Grafana Cloud는 Grafana를 빠르게 사용하기 시작할 수 있는 가장 빠른 방법이며, 메트릭, 로그 및 트레이스를 위한 확장 가능하고 완전 관리되는 백엔드를 포함합니다. Grafana Cloud를 사용하면 관찰 가능성 스택을 설치, 유지 관리 및 확장하는 오버헤드를 피할 수 있습니다.

Grafana Cloud는 Grafana Labs에서 관리 및 운영하며, 개인, 팀 및 대기업을 위한 무료 및 유료 옵션이 있습니다. 10k 메트릭, 50GB 로그 및 3명의 사용자에 대한 액세스를 포함하는 강력한 무료 계층이 제공됩니다. Grafana Pro는 무제한 메트릭, 로그, 트레이스 및 사용자, 장기 보존 및 프리미엄 팀 협업 기능을 제공하는 14일간의 무료 체험을 제공합니다. 설치 및 구성의 번거로움이 없습니다. Grafana Cloud 계정에 가입하기만 하면 됩니다.

Grafana에 데이터 연결

데이터를 Grafana에 연결하는 것은 Grafana Cloud 계정을 만든 후의 다음 단계입니다. Grafana는 시계열 데이터 소스를 위한 다양한 저장소 백엔드를 지원하지만, 데이터 소스를 관리할 수 있는 권한은 관리자 역할을 가진 사용자에게만 부여됩니다. 데이터를 생성하는 서비스나 데이터베이스와 Grafana Cloud를 사용하여 해당 데이터로 작업하고자 하는 방식에 따라, 데이터 소스를 연결하는 세 가지 주요 방법 중 하나를 사용할 수 있습니다. 이 세 가지 주요 방법은 다음과 같이 설명됩니다:

1. 통합 방법(Integrations method)

통합 방법은 사전 구성된 대시보드와 경고를 통해 서비스의 인프라를 모니터링하는 데 이상적이며, Grafana가 데이터를 관리합니다. 통합은 SaaS 애플리케이션에 직접 연결하거나 Grafana 에이전트를 사용하여 달성됩니다. Grafana Cloud는 운영 체제, 데이터베이스, 클라우드 앱 등 서비스의 건강과 성능을 모니터링하기 위한 다양한 통합을 제공합니다. 통합 방법을 사용하면 데이터가 클라우드 계정으로 전송되며, 스크레이핑하는 서비스에 맞춰 사전 구성된 대시보드와 경고 규칙에 액세스할 수 있습니다. 통합을 설치하는 단계별 과정은 다음과 같습니다:

  • Grafana Cloud 스택에서 'Integrations and Connections'을 클릭합니다.
  • 서비스의 이름을 검색합니다. 일부 서비스는 인프라 통합과 데이터 소스 모두를 가지고 있습니다.
  • 적절한 타일을 클릭하고 지시사항을 따릅니다.

2. 데이터 소스 방법

로컬 환경에서 서비스 데이터를 질의, 알림 및 시각화하고자 할 때 데이터 소스 방법이 권장됩니다. Grafana 데이터 소스 연결을 통해 다양한 플랫폼에 저장된 데이터를 중앙 집중화할 수 있는 방법을 제공합니다. 하나의 장소에서 데이터를 처리할 수 있게 되면 여러 데이터 소스에 걸쳐 질의를 구성하고 결과를 대시보드에 표시하여 Grafana Cloud 스택을 벗어나지 않고도 이를 수행할 수 있습니다. 모든 Grafana Cloud 계정의 관리자는 많은 기본 지원 데이터 소스 및 오픈 소스 커뮤니티에서 만든 많은 데이터 소스 플러그인에 자동으로 액세스할 수 있습니다.

Grafana에서 기본적으로 지원하는 데이터 소스에 연결하고자 할 경우, 'Integrations and Connections'에서 해당 데이터 소스를 검색하여 클릭한 후 지시사항을 따르면 됩니다. 연결하고자 하는 데이터 소스가 커뮤니티 또는 엔터프라이즈 플러그인에 의해 지원되는 경우, 아래 단계에 따라 먼저 플러그인을 설치한 다음 해당 데이터 소스를 설치하세요:

  • 클라우드 스택에서 구성(톱니바퀴) 메뉴를 가리키고 '플러그인'을 선택합니다.
  • 검색 필드를 사용하거나 스크롤하여 데이터 소스와 일치하는 플러그인의 타일을 찾습니다.
  • grafana.com을 통해 '설치'를 클릭합니다.
  • grafana.com으로 이동했을 때 계정에 로그인되어 있는지 확인하고 '설치'를 클릭합니다.
  • 플러그인을 설치한 스택으로 돌아가서 로그아웃한 다음 다시 로그인합니다.
  • 구성 메뉴에서 '데이터 소스'를 선택합니다.
  • '데이터 소스 추가'를 클릭하고 이전에 설치한 플러그인의 데이터 소스를 검색합니다.
  • 연결을 구성합니다.

3. 사용자 정의 연결 방법

사용자 정의 연결 방법은 Grafana Cloud에서 기존의 관찰 가능성 배포를 확장하고 관리하려는 경우에 권장됩니다. 관찰 가능성 데이터를 Grafana 백엔드에 연결하고 Grafana Cloud로 전송하면, 중앙 집중식 및 장기 데이터 저장, 집계된 데이터 세트, 복잡한 사용자 정의 없이 안전한 글로벌 액세스 등의 이점을 누릴 수 있습니다. 또한, 로컬 저장소 없이 인프라를 관리하고 확장하기 위해 Grafana Agent를 배포할 수도 있습니다.

Grafana 문서에 따르면, 통합을 설치하는 것이 데이터를 Grafana Cloud로 전송하는 가장 쉬운 방법이지만, 로컬 배포에 따라 다른 방법이 더 적합할 수 있습니다. 예를 들어, 이미 Prometheus, Loki, Tempo를 사용해 관찰 가능성 데이터를 수집하고 있지만 이를 저장하고 관리하며 활용할 단일 장소가 필요하다면, Grafana Agent를 수동으로 배포하는 방법을 선택할 수 있습니다. 또는 필요에 따라 다른 방법을 사용할 수도 있습니다. Grafana는 Prometheus, Graphite, InfluxDB, Datadog 메트릭을 지원합니다.

반응형

Grafana의 메트릭스와 시각화

메트릭은 흔히 성능 비교 및 추적을 위해 사용되는 정량적 평가의 척도입니다. 예를 들어, 컴퓨터 네트워크에서는 대역폭 사용량, 패킷 손실, 지터, 대기 시간 등의 네트워크 메트릭이 네트워크 동작을 관찰하고 결정하는 정성적 및 정량적 방법입니다. 네트워크 성능 메트릭은 최종 사용자의 요구를 더 깊이 이해할 수 있게 해주며, 네트워크 인프라와 서비스가 어떻게 운영되고 있는지를 알려줍니다. 이러한 메트릭은 네트워크의 잠재적 문제, 중단, 그리고 오류에 대한 실시간 통찰력을 제공하고, 미래 비즈니스 요구를 충족시킬 수 있는 적응형 네트워크를 만드는 데 도움을 줄 수 있습니다. 이 중요한 정보를 바탕으로 IT 자원을 배치하고 우선 순위를 정하여 영향에 따라 대응할 수 있습니다.

  • 메트릭스는 정량적 평가를 위한 측정 단위로, 성능 비교와 추적에 사용됩니다.
  • 네트워크 메트릭스(대역폭 사용량, 패킷 손실, 지터, 지연 시간 등)는 네트워크 동작을 관찰하고 파악하는 데 도움이 됩니다.
  • 이를 통해 최종 사용자 요구사항과 네트워크 인프라 및 서비스 운영 상황을 이해할 수 있습니다.
  • 실시간 통찰력을 제공하여 잠재적 문제, 중단, 오류를 파악하고 대응할 수 있습니다.
  • 이 정보를 바탕으로 IT 리소스를 배포하고 우선순위를 정할 수 있습니다.

Grafana의 메트릭스와 시각화는 Nagios, Zabbix, PRTG, Icinga, Checkmk 등과 같은 네트워크 모니터링 도구에서 생성된 데이터를 시각화하기 쉽게 합니다. 시간이 지남에 따라 반복적으로 캡처된 경우 Grafana 메트릭이 가장 유용합니다. 이를 통해 데이터 기반 비교를 할 수 있습니다. 이러한 메트릭은 Prometheus, InfluxDB 등과 같은 시계열 데이터베이스에 저장됩니다. Grafana Cloud는 이러한 시계열 데이터베이스를 포함하여 다양한 메트릭 형식의 시각화를 수용할 수 있습니다. Grafana와 Grafana Cloud는 다양한 사용 사례에 맞는 그래프 및 차트, 통계 및 숫자, 위젯 등 다양한 시각화를 제공합니다. Grafana의 그래프 및 차트 시각화는 다음과 같이 설명됩니다:

  • 그래프 및 차트: 데이터의 시간에 따른 변화를 직관적으로 파악할 수 있는 시각화 방법입니다. 사용자는 선, 영역, 막대 등 다양한 차트 유형을 사용하여 데이터의 추세, 패턴, 피크를 쉽게 식별할 수 있습니다.
  • 통계 및 숫자: 중요한 메트릭 값을 한눈에 보여주는 간단하지만 강력한 시각화입니다. 이를 통해 사용자는 주요 성능 지표(KPIs)를 신속하게 파악하고, 임계값을 초과하는 경우 즉각적인 피드백을 받을 수 있습니다.
  • 위젯: 다양한 정보를 빠르게 전달할 수 있는 소규모 시각화 요소입니다. 대시보드에 여러 위젯을 배치하여 복잡한 데이터를 간편하게 요약하고, 사용자가 중요한 정보에 쉽게 접근할 수 있도록 합니다.

Grafana를 사용함으로써, 데이터의 시각화를 통해 네트워크 성능의 모니터링과 최적화를 보다 효율적으로 수행할 수 있습니다. 데이터 기반 결정을 내리는데 있어서, 이러한 시각적 도구들은 매우 중요한 역할을 합니다.

시간 시계열 시각화 (Time series visualization)

시간 시계열 시각화는 Grafana의 기본적이고 주요한 시각화 방식으로, 시간 시계열 데이터를 그래프로 표현합니다. 이 방식은 거의 모든 시간 시계열 데이터를 표시할 수 있으며, 이를 선, 점, 막대 등으로 렌더링할 수 있습니다. 시간 시계열 시각화가 어떻게 구성되고 스타일링될 수 있는지 더 많은 예시를 보려면, 이 공개 데모 대시보드를 확인해보시기 바랍니다.

상태 타임라인 시각화 (State timeline visualization)

상태 타임라인 시각화는 시간에 따른 상태 변경을 표시하는 데 사용됩니다. 이 유형의 시각화는 상태 타임라인 패널에서 시간에 따라 발생하는 상태 변경을 표시합니다. 이 패널은 문자열, 불린 상태 및 시계열 데이터와 같은 데이터 형식을 지원합니다. 시계열 데이터와 함께 사용될 때, 임계값을 사용하여 수치 값을 이산 상태 영역으로 변환합니다. 각 시리즈는 고유한 수평 밴드로 렌더링됩니다.

상태 이력 시각화 (Status history visualization)

Grafana의 상태 이력 시각화는 시간에 따른 주기적인 상태를 보여줍니다. 문자열, 불리언, 수치 필드 또는 시계열 데이터와 같은 데이터 형식을 지원합니다. 각 필드나 시리즈는 아래와 같이 수평 행으로 렌더링됩니다.

막대 차트 시각화 (Bar chart visualization)

Grafana의 막대 차트 시각화는 범주형 데이터를 그래프로 표현할 수 있는 패널 시각화입니다. 이 시각화는 단 하나의 데이터 프레임만을 지원하며, 적어도 하나의 문자열 필드가 있어야 합니다. 이 문자열 필드는 수평 축(X) 또는 수직 축(Y)의 범주로 사용됩니다. 또한 하나 이상의 숫자 필드가 필요합니다. 여러 시계열 또는 테이블이 있는 경우, 먼저 'join' 또는 'reduce transform' 기능을 사용하여 이들을 결합해야 합니다.

히스토그램 시각화 (Histogram visualization)

히스토그램은 숫자 데이터의 분포를 그래픽으로 나타내는 방법입니다. 값들을 버킷으로 그룹화하고 각 버킷에 속하는 값들의 개수(빈도)를 세어줍니다. Grafana의 히스토그램 시각화는 특정 시간 범위 내에서 값의 분포만을 고려합니다. 이는 값의 분포를 계산하고 막대 차트 형태로 깔끔하게 표현합니다. 히스토그램은 막대의 높이를 통해 빈도를 나타냅니다. 아래의 그림 6.0은 260-280 값 범위에서 피크를 이루는 몇 개의 시계열 데이터의 값 분포를 보여줍니다.

세로 축(Y)과 각 막대의 높이는 해당 범주나 버킷에 속하는 값들의 빈도나 개수를 나타내며, 가로 축(X)은 값의 범위를 나타냅니다. 히스토그램 시각화는 시계열 데이터와 하나 이상의 숫자 필드를 포함한 테이블 결과를 지원합니다. 히스토그램의 문제점은 시간에 따라 분포의 변화나 추세를 볼 수 없다는 것입니다. 이러한 문제를 해결하기 위해 히트맵이 유용하게 사용됩니다.

히트맵 시각화(Heatmap visualization)

히트맵 시각화는 시간에 따른 히스토그램을 볼 수 있게 해주며, 각 시간 조각이 그 자체의 히스토그램을 나타냅니다. 히트맵은 셀과 셀 색상을 사용하여 빈도를 나타냅니다. 셀은 버킷이나 범주에 있는 값의 수에 비례하여 색칠됩니다.

색상 스펙트럼은 각 버킷의 빈도(값의 수)와 각 버킷에 할당된 색상 사이의 매핑을 제어합니다. 스펙트럼의 가장 왼쪽 색상은 최소 개수를 나타내고, 가장 오른쪽 색상은 최대 개수를 나타냅니다.

파이 차트 시각화(Pie Charts visualization)

파이 차트 시각화는 비례성이 중요한 경우에 주로 사용됩니다. 파이 차트는 하나 이상의 쿼리에서 축소된 시리즈 또는 시리즈의 값들을 서로 관련지어 파이 조각의 형태로 표시합니다. 조각의 호 길이, 면적, 중심각은 모두 조각의 값과 모든 값의 합에 대한 비율에 비례합니다. 이러한 유형의 차트는 소규모 값 집합을 시각적으로 매력적인 형태로 빠르게 비교하고 싶을 때 가장 잘 사용됩니다.

캔들스틱 시각화(Candlestick visualization)

Grafana 캔들스틱 시각화는 주로 금융 데이터에서 가격/데이터 움직임에 초점을 맞추는 경우에 사용됩니다. 캔들스틱 패널을 통해 가격 움직임에 중점을 둔 여러 일관된 차원을 포함하는 데이터를 시각화할 수 있습니다. 캔들스틱 패널에는 Open-High-Low-Close (OHLC) 모드가 포함되어 있으며, 시계열 데이터를 기반으로 한 추가 차원을 지원합니다.

반응형

댓글