그라파나(Grafana)란?
메트릭/로그 시각화 대시보드

그라파나(Grafana)란?

그라파나(Grafana) 로고

그라파나는 오픈소스 메트릭 데이터 시각화 도구로 메트릭 분석 플랫폼을 지향하고 있습니다. Torkel Ödegaard의 주도로 2014년 처음 릴리스되었으며, 처음에는 그라파이트Graphite, 인플럭스DBInfluxDB, 오픈TSDBOpenTSDB 등을 지원하는 오픈소스 대시보드 도구로 개발되었습니다. 메트릭 정보를 시각화하고 대시보드를 구성한다는 큰 틀은 여전히 변함이 없습니다만, AWS 클라우드와치AWS CloudWatch, 애저 모니터Azure Monitor와 같은 클라우드 데이터 소스를 비롯해 로키Loki나 엘라스틱서치ElasticSearch 등을 기반으로 로그 데이터를 지원하는 등 더 많은 데이터 소스를 지원하고 있습니다. 또한 엔터프라이즈 플랜에서는 스플렁크Splunk, 뉴 렐릭New Relic, 앱다이나믹AppDynamics, 오라클Oracle, 다이나트레이스Dynatrace, 서비스나우ServiceNow, 데이터독DataDog 등의 외부 서비스들과 통합도 지원하고 있습니다.

그라파나는 현재 그라파나 랩Grafana Labs에서 개발하고 있습니다. 그라파나 랩은 그라파나Grafana로키Loki, 탄카Tanka 등의 애플리케이션을 오픈소스를 개발하고 있는 회사로, 2019년 10월 시리즈 A $24M, 2020년 8월 시리즈B $50M의 투자를 유치했습니다. 2020년 현재 그라파나 랩은 32개 국가에서 리모트를 기반으로 운영되는 170명 규모의 회사로 성장했으며 그라파나 엔터프라이즈Grafana Enterprise와 그라파나 클라우드Grafana Cloud와 같은 상용 서비스도 개발하고 있습니다.

그라파나는 페이팔Paypal, 이베이ebay, 인텔Intel, 랙스페이스rackspace, 비메오Video, 테드TED, 디지털 오션Digital Ocean, 블룸버그Bloomberg 등 다양한 기업에서 활용되고 있습니다. 더 자세하고 다양한 도입 사례에 대해서는 그라파나 웹 사이트에서 확인할 수 있습니다.

그라파나(Grafana) vs. 데이터독(Datadog)

데이터독의 대시보드 화면

그라파나와 데이터독 같은 클라우드 모니터링 서비스는 메트릭 데이터를 시각화하고 대시보드를 구성할 수 있다는 점에서 비슷한 특징을 가지고 있습니다. 또한 다양한 추가 기능한 외부 통합 기능을 통해 모니터링의 영역을 확장해나가고 있습니다.

가장 큰 차이점을 꼽아보자면, 데이터독의 경우 데이터를 직접 저장하고 있는 것과 달리 그라파나는 외부 데이터 소스를 정의하고 해당 데이터 소스에 쿼리를 통해서 데이터를 동적으로 가지고 와서 시각화를 한다는 점입니다. 예를 들어 데이터독에서 AWS 서비스를 연동하면 클라우드 와치의 메트릭 데이터를 일정 주기로 가져와서 데이터독 데이터베이스에 저장해둡니다. 이 때문에 데이터독을 사용하는 경우 클라우드와치의 실시간 데이터와 15분 정도의 약간의 시차가 발생합니다. 반면에 그라파나는 AWS 클라우드 와치에 직접 쿼리해서 데이터를 가져오기 때문에 대시보드를 조회하는 동안 최신 데이터를 확인할 수 있습니다.

데이터독은 모니터링 서비스를 제공하는 상용 서비스이고, 그라파나는 오픈소스 프로젝트입니다. 데이터독과 비교하기에 좀 더 적절한 서비스는 그라파나 자체보다는 그라파나 클라우드 서비스라고 할 수 있습니다. 그라파나 클라우드에서는 메트릭(프로메테우스)과 로그 데이터(로키)를 저장하고 사용할 수 있습니다.

그라파나 클라우드(Grafana Cloud)와 그라파나 엔터프라이즈(Grafana Enterprise)

그라파나는 오픈소스로 기본적으로는 직접 설치하고 운영해야합니다. 또한 메트릭 데이터나 로그 데이터에 대한 관리도 직접해야한다는 불편함이 있습니다. 그라파나 랩에서는 그라파나를 서비스로 제공하는 그라파나 클라우드 서비스를 제공하고 있습니다. 무료 플랜에서는 5개의 대시보드까지 생성해볼 수 있습니다. 스탠다드(Standard) 이상의 플랜에서는 다중 유저 기능을 제공하며, 대시보드를 제한없이 생성할 수 있습니다. 메트릭과 로그 데이터를 저장하는 기능을 제공합니다. 스토리지 비용은 별도로 발생하니 확인이 필요합니다.

그라파나 클라우드(Grafana Cloud)의 플랜 비교 표

그라파나 엔터프라이즈에서는 SAML을 지원하고, 추가적으로 스플렁크Splunk, 뉴 렐릭New Relic, 앱다이나믹AppDynamics, 오라클Oracle, 다이나트레이스Dynatrace, 서비스나우ServiceNow, 데이터독DataDog 플러그인을 지원합니다. 이외에도 협업 관련 기능과 더 강화된 서비스 지원을 받을 수 있습니다. 자세한 내용은 서비스 안내 페이지를 참고해주세요.

그라파나콘(GrafanaCon)

그라파나에서는 연례 컨퍼런스 그라파나콘GrafanaCon을 열고 있습니다. 2015년부터 2019년까지 열린 그라파나콘의 영상은 유튜브 그라파나 채널에서 볼 수 있습니다.

2020년의 그라파나콘은 온라인으로 열렸으며 그라파나 7Grafana 7, 프로메테우스Prometheus, 로키Loki 등의 주제가 다뤄졌습니다. 영상은 컨퍼런스 공식 홈페이지에서 볼 수 있습니다.

도커로 그라파나 시작하기

도커를 사용해 그라파나를 바로 실행해볼 수 있습니다. 그라파나에서는 grafana/grafana 이미지를 공식적으로 제공하고 있습니다.

$ docker run -d -p 3000:3000 grafana/grafana

명령어를 실행하면 그라파나 서비스가 실행됩니다. 이제 0.0.0.0:3000에 접속해서 그라파나를 사용해볼 수 있습니다.

도커로 그라파나(Grafana)를 실행하고, 접속한 화면

기본 계정은 admin / admin입니다. 그라파나를 사용하려면 먼저 데이터 소스를 정의해야합니다. 다음 화면은 AWS 클라우드 와치를 데이터 소스로 연동해본 화면입니다.

AWS 클라우드 와치를 데이터 소스로 그려본 그래프

테슬라 대시보드

자신이 소유한 테슬라 자동차의 데이터를 가져와서 시각화하는 프로젝트들도 다수 공개되어있습니다. 그라파나를 대시보드로 사용하고 있습니다.

TeslaMate 예시 대시보드