티스토리 뷰

개요

  • Grafana는 매우 다양한 데이터 소스(MySQL, Elasticseach 등)로부터 잘 준비되고 일관된 방식의 시계열 그래프를 만들어낼 수 있는 대표적인 오픈 소스 기반의 대시보드 솔루션이다. 가로축의 시계열 데이터를 핵심으로 하여, 인스턴스 또는 애플리케이션의 모니터링 및 알람에 최적화된 기능을 제공하여 널리 쓰이고 있다. 이번 글에서는 Cent OS 7에서 Grafana를 설치하는 방법을 소개하고자 한다.

Grafana 설치

  • CentOS 7 환경에서 Grafana의 설치 방법은 여느 소프트웨어 패키지와 같이 굉장히 직관적이다. 방법은 아래와 같다.
# Grafana 저장소 설치
$ sudo nano /etc/yum.repos.d/grafana.repo
[grafana]
name=grafana
baseurl=https://packages.grafana.com/oss/rpm
repo_gpgcheck=1
enabled=1
gpgcheck=1
gpgkey=https://packages.grafana.com/gpg.key
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt

# Grafana 설치
$ sudo yum install grafana

# Grafana 서비스 시작
$ sudo systemctl daemon-reload
$ sudo systemctl start grafana-server
$ sudo systemctl status grafana-server

# 재부팅시 Grafana 서비스 자동 실행 설정
$ sudo systemctl enable grafana-server

# Grafana 접속 확인
$ curl -X GET http://localhost:3000
<a href="/login">Found</a>.

Grafana 접속

  • 설치가 완료되면 브라우저에서 해당 노드의 3000번 포트로 접속하면 된다. 접속 아이디와 비밀번호를 물어보는데 초기 설치 시점에는 admin/admin을 입력하면 된다.

시계열이 아닌 그래프 제작하기

  • Grafana은 본질적으로 특정 데이터 소스로부터 시계열 그래프를 효과적으로 제작할 수 있는데 초점을 맞춘 솔루션이다. 하지만, 가끔 Grafana의 막강한 시각화 기능을 이용하여 시계열이 아닌 데이터(non-time series data)를 X축으로 그래프로 표현하고 싶을 때가 있다. Grafana가 요구하는 규칙을 지키면 비시계열 그래프를 제작하는 것이 가능하다. [관련 링크] 아래는 MySQL 데이터 소스의 예이다.
SELECT
  UNIX_TIMESTAMP() as "time_sec",
  CONCAT(days_from_last_order, '') AS "metric",
  COUNT(days_from_last_order) AS "value"
FROM product_recently_ordered
GROUP BY days_from_last_order
  • time_sec은 필수 필드로 그래프에서는 표현되지 않지만 Grafana의 규칙을 만족시키기 위해 사용한다.
  • metric은 필수 필드로 그래프에서 X축의 데이터로 표현된다. 숫자더라도 반드시 텍스트 타입이어야 하기 때문에 형변환을 이용했다.
  • value는 필수 필드로 그래프에서 Y축의 데이터로 표현된다.
  • 다음으로 필요한 설정은 시각화에서의 그래프 설정이다. X축의 Mode: Time -> Series, Value: Current로 변경하면 시계열이 아닌 그래프로 표현이 가능하다.

참고 글

댓글
댓글쓰기 폼