초이로그

[Grafana]Grafana에 MongoDB 데이터 불러오기 본문

Stacks

[Grafana]Grafana에 MongoDB 데이터 불러오기

수연초이 2020. 7. 24. 15:29

Grafana란,

다중 플랫폼 오픈 소스 분석 및 대화 형 시각화 웹 응용 프로그램으로 데이터 소스에 연결하여 차트, 그래프 등으로 데이터를 시각화하여 보여주는 대시보드이다

쉽게 오픈소스 시각화 툴이라고 생각하면 된다

MongoDB를 연결하려고 하는데 한국말로 되어있는 자료가 별로 없고 Grafana를 처음 접해 어려웠기 때문에 정리해보았다

1. Grafana 설치 및 실행

- 설치:

공식사이트 에 나와있는대로 따라하면 된다(명령어 몇개만 입력하면 되니까 이부분은 따로 설명하지 않겠다)

나는 Ubuntu(64Bit) 버전으로 설치

Download Grafana
Overview of how to download and install different versions of Grafana on different operating systems.
grafana.com

 

- Grafana 실행/ 종료:

실행

$ sudo service grafana-server start

종료

$ sudo service grafana-server stop

실행하게 되면 기본적으로 localhost:3000으로 그라파나에 접속이 가능하다.

처음 접속시 아이디: admin, 비밀번호: admin이니 이를 입력하고 비밀번호를 재설정하면 된다.

 

2. DataSource로 MongoDB 추가하기

기본적으로 다운받은 Grafana의 플러그인에 MongoDB가 없으므로 직접 추가해주어야 한다.

어려울거 같지만 깃허브에 어느정도는 잘 나와있다!

JamesOsgood/mongodb-grafana
MongoDB plugin for Grafana. Contribute to JamesOsgood/mongodb-grafana development by creating an account on GitHub.
github.com

 

-Grafana plugin 설치

터미널에서 루트 계정으로 접속 후,

Grafana가 설치되어있는 위치의 플러그인 폴더(var/lib/grafana/plugins)에서 저 깃 레포를 그대로 다운받는다.

root@user-desktop:~# cd /var/lib/grafana/plugins
root@user-desktop:/var/lib/grafana/plugins# git clone https://github.com/JamesOsgood/mongodb-grafana.git

혹시 몰라서 권한을 설정해주었다.

root@user-desktop:/var/lib/grafana/plugins# chmod 777 -R mongodb-grafana/

Grafana서버 재실행 나는 그냥 stop하고 다시 start....(Homebrew를 통해 설치한 경우, brew services restart grafana를 입력)

user@user-desktop:/var/lib/grafana$ sudo service grafana-server stop
user@user-desktop:/var/lib/grafana$ sudo service grafana-server start

 

-MongoDB 서버 실행

다운받은 폴더(mongodb-grafana)로 이동

root@user-desktop:/var/lib/grafana/plugins# cd mongodb-grafana/

npm 설치

root@user-desktop:/var/lib/grafana/plugins/mongodb-grafana# npm install

MongoDB서버 실행

root@user-desktop:/var/lib/grafana/plugins/mongodb-grafana# npm run server

localhost:3333 에서 기본적으로 서버가 실행되기 때문에 3333 포트가 다른곳에서 이미 사용중인지 유의하자

 

여기까지 되었다면

3000포트에서는 그라파나가, 3333포트에서는 mongodb-grafana 서버가 작동되어야한다.

그리고 Grafana서버(localhost:3000)의 Configuration-Plugins에서 MongoDB Plugin이 생긴것을 확인할수 있다.

 

3. MongoDB타입의 data source 생성하기

그렇다면 이제 본격적으로 데이터를 가져오기 위한 데이터 소스를 만들어보자!

Configuration-Data Sources에서 파란색으로 되어있는 Add data source 클릭

MongoDB를 선택

자신의 환경에 맞게 세팅

HTTP URL은 방금 다운받아 설정한 mongodb 서버(localhost:3333)로 설정

MongoDB details의 URL에서 자신의 데이터베이스 서버 주소, database에서 데이터베이스 이름을 입력한다

이것때문에 정말 많이 고생했다...,,,,,알고나니까 허무

Save & Test를 눌렀을 때 다음과 같이 OK가 뜨면 나의 mongoDB와 연결 성공이다!

 

 

이제 본격적으로 데이터를 가져오게 쿼리문을 짜야하는데....프로젝트의 방향이 바뀌게 되었다.

많지 않은 시간동안 찾아본 결과, 쿼리문은 MongoDB의 aggregation을 바탕으로 작성하면된다. 

이런식으로 정리하면 되는데 나중에 FE 개발할때 다시 한번 정리하겠다!