Grafana는 대시보드를 정말 쉽게 구성해 주는 오픈 소스이며, 인기가 많은 툴이기 때문에 이미 사용해 봤거나 현재 쓰고 있는 분들도 많을 것이라고 생각된다. Machbase에서도 Grafana용 datasource plugin을 제공하므로 이를 이용하면 Grafana에서 Machbase data를 매우 쉽게 사용할 수 있다.

이 글에서는 Machbase와 Grafana를 연동하는 방법을 간단하게 본다. 만일, Grafana에 대한 자세한 사용법을 알고 싶다면,  Grafana 홈페이지를 참조하도록 하자.

 

사용환경

Linux 및 Windows 모두 지원을 하지만 여기서는 Windows 환경을 기준으로 설명한다.

 

설치방법

MWA(Machbase Web Analytics) 실행

Grafana용 datasource plugin을 사용하려면 Machbase에 있는 MWA를 실행해 두어야 한다.

아래는 각각 윈도우와 리눅스 환경에서 MWA를 수행하는 법을 표시하였다.

Windows
바탕화면의 Machbase를 실행하여 MWA를 실행(startup)

Linux
MWAserver start를 실행
$MWAserver start
SERVER STARTED, PID : 8080
     Connection URL : http://192.168.0.33:5001

Grafana 설치

Grafana 설치는 다음과 같이 설치하면 된다.

1. 아래의 URL에 접속해서 원하는 OS의 파일을 다운로드 받는다.

https://grafana.com/grafana/download

2. 다운로드 받은 zip파일의 압축을 원하는 위치에 푼다.
예) D:\grafana-4.4.3

3. Machbase용 Datasource plugin 파일(machbase.zip)은 {Machbase 설치경로}\machbase_home\3rd-party\grafana 경로에 있으므로 확인해 보자. 만일 없다면 패키지가 잘못된 것이다.

4. {Grafana 설치경로}\data\plugins 경로의 아래에 machbase 경로를 만들고 압축을 풀어준다. (폴더명은 반드시 machbase여야 함.)

 

5. 설치된 경로 밑의 bin 폴더에 있는 grafana-server.exe를 실행한다.

콘솔 환경
> cd grafana-4.4.3\bin
> grafana-server.exe

6. 이제 웹 브라우저로 Grafana에 접속한다.

(Grafana의 Default port는 3000 이며, Default id / password는 admin / admin 이다.)
예) http://127.0.0.1:3000

화면에 Machbase Datasource가 설치된 것이 보일 것이다.

설치가 모두 완료되었다!

 

Grafana 간단한 사용방법

Datasource 생성

Grafana는 여러 개의 DB에서 자료를 가져와서 사용할 수 있으므로 사용할 Data Source를 생성해야 한다.

1. 좌측상단의 Grafana 아이콘을 클릭해서 ‘Data Sources’를 선택한다.

2. Data Sources 화면에서 [+Add data source]를 선택한다.

기존의 Data Source를 선택해서 수정할 수도 있다.

3. 아래 그림과 같이 Name을 입력하고 Type에서 Machbase를 선택한다.

 

4. URL은 기본값으로 http://localhost:5001/machbase 로 설정되어 있다.
http://localhost:5001 는 MWA 접속 URL이다.  (뒷부분의 machbase를 눈여겨보자.)
MWA가 실행중이라면 http://localhost:5001/machbase 에 접속하면 아래와 같이 나타나야 한다.

{
"status": "Working"
}

이 URL을 변경하면 다른 서버에 있는 Machbase에도 접속할 수 있으며, 나머지는 기본값으로 두자.

5. 하단의 [Add] 버튼을 누르면 Machbase의 상태를 확인하고 이상이 없으면 추가한다.
추가된 후에는 수정 상태로 변경되며,  [Save & Test] 버튼이 나타나면 이미 추가된 것이다.

 

Dashboard Graph 그리기

1. 좌측상단의 Grafana 아이콘을 클릭해서 ‘Dashboards > +New’ 를 선택한다.

2. Graph 버튼을 눌러서 Graph Panel을 생성한다.

(다른 Panel들도 Machbase와 연결하는 방법은 동일하다)

하단의 [ADD ROW] 버튼을 누르면 row가 하나 추가된다.

3. Panel의 Title 부근을 클릭하면 메뉴가 나타나며,  ‘Edit’를 눌러준다.

4. 수정할 그래프가 윗부분에 표시되고 아래 부분에서 설정을 변경할 수 있다.
Metric 탭을 선택해서 Graph에서 사용될 Metric을 설정한다.
먼저 Machbase를 사용할 것이므로 ‘Panel Data Source’ 항목을 아까 생성한 Data Source로 변경해 준다.

 

5. Graph에서 사용할 Query를 구성한다. 그래프에 필요한 항목을 입력하면 된다.

FROM 사용할 Table을 선택한다.  그림의 (1)을 누르면 테이블 목록을 다시 읽어 오며, Collector로 수집한 Machbase log 기록이 저장된 MACHBASE_TABLE을 선택한다.
SELECT 실제로 그래프를 그릴 때 사용될 값을 어떻게 계산할 지를 결정한다.
(2)를 눌러서 Column과 내장 함수를 선택할 수 있으며, Numeric Column 만 계산용 함수를 사용할 수 있다는 점을 명심하자.
복잡한 함수나 계산식을 사용한다면 직접 입력해야 하지만 간단히 사용할 경우에는 선택하는 것이 편리하다.
Time Field X축 값으로 사용될 Column 을 지정한다.

기본값은 _arrival_time인데 Table에 해당 레코드가 입력된 시간을 나타내는 내부 컬럼이다.
선택된 Table에 Datetime Column이 있다면 그것을 선택하여 사용할 수도 있다.

every x축의 눈금 간격으로 Grafana에서 Time range와 화면의 크기를 고려하여 자동으로 산정한다.
공란으로 두면 Grafana가 산정한 값을 사용하므로, 공란으로 두는 것이 좋다.
그러나, 시간 간격을 고정해야 할 필요가 있는 경우 이 값을 설정하자.
Title legend에 표시되는 Title을 지정한다. 입력하지 않은 경우 Table명:Column명으로 legend에 표시된다.
Filter Query문의 WHERE 절을 넣는 곳이다.

Column 을 선택하고 조건을 입력하면 된다.
비교 값은 선택하면 되는데 (3)을 누르면 직접 입력할 수도 있다.
(5)를 눌러 조건을 추가하고, 삭제는 (4)를 누르면 된다.

주의할 점은 모든 조건은 and로 연결된다는 것이다.

WHERE 절이 복잡해서 Filter로 표현되지 않는 경우 아래와 같이 직접 입력할 수 있도록 되어 있다.

(a) 버튼을 누르고 ‘Toggle Edit Mode’를 선택하면 입력/선택 모드가 변경되며,  ‘WHERE’를 제외하고 조건을 직접 입력한다.
(b) 는 show/hide 를 변경하는 것이다. hide 상태가 되면 Graph를 보여주지 않는다.
(c) 는 삭제하는 것이다.

6. 하나의 Panel에 다른 Graph를 추가하려는 경우 [Add Query] 버튼을 누르면 추가할 수 있다.

7. General 탭을 선택해서 Panel의 Title을 입력하면 간단한 Graph Panel 설정이 끝난다. Ctrl-S를 누르거나 상단의 디스크 모양 아이콘을 눌러서 Dashboard를 저장한다.

8. 다시 접속해서 ‘Dashboard > Home’을 접속하면 저장한 Dashboard를 볼 수 있다.

 

참고사항

A. Dashboard의 Time range와 refresh 주기는 Dashboard 상단의 (1) 부분을 눌러서 변경한다.

Time range : 그림의 (2)부분
now(현재)를 기준으로 -값으로 입력한다.

now-1h는 현재시간보다 1시간 전을 뜻하며,  시간단위는 s(초), m(분), h(시), d(일), M(월), y(년) 으로 구성된다.  만일 시간 범위를 절대값으로 설정하려면 (3)을 누르면 된다.

Refresh 주기 : 그림의 (4)부분
Dashboard를 다시 그리는 주기이며, 준비된 주기들 중에서 선택하면 된다.
선택할 수 있는 값의 리스트는 상단의 톱니바퀴 모양 아이콘을 누르고,  Settings 메뉴의 Time picker 탭에서 Auto-refresh 항목에 설정하면 된다.

입력후 [Apply] 버튼을 누르면 적용되는데, 만일  잘못된 값이 입력되면 [Apply] 버튼이 비활성화 된다는 것을 명심한다.

B. 특정 Panel만 별도의 Time range로 고정시키려면 [Time range] 탭을 선택하여 설정해 준다.

마무리

Machbase와 Grafana를 연동해서 Graph를 그리는 방법에 대해서 간략하게 기술했다.
grafana는 워낙 유명한 툴이어서 기존에 사용해 본 개발자라면 설치와 사용에 큰 어려움이 없었을 것이라고 생각된다.

멋있는 차트를 통해서 빠른 마크베이스의 성능을 맘껏 느껴보시길 바란다.


차세대 산업 IoT를 위한 데이터 혁명 : Next Generation Historian 1 마크베이스를 위한 nodejs 설치 하기

  1. 마크베이스 설치된 경로에 있는 plugin machbase.zip파일이 깨져 있습니다.
    machbase.zip 올려주시면 좋겠네요.

    1. 안녕하세요, 전영규님.

      ${MACHBASE_HOME}/3rd-party/grafana/machbase.zip 파일이 깨져 있다는 말씀이신지요?
      파일이 존재하지 않는 것인지, 파일 압축 해제 후 진행에 문제가 있으신지 구체적으로 말씀해주시면
      문제 해결에 도움이 될 것 같습니다.

      저희가 테스트한 결과,
      현재 버전에서는 정상적으로 동작하는 것 확인되어서, 번거로우시겠지만, 다시 최신 버전을 아래의 링크에서 다운로드받으셔서 다시 설치해보시면 좋을 거 같습니다.
      다운로드 주소 : http://www.machbase.com/download
      기타 문의 사항은 support@machbase.com으로 보내주시면 빠르게 답변드리도록 하겠습니다.

      좋은 하루 되세요.
      감사합니다.

Leave a Reply

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다.