Prometheus + Grafana 대시보드

Grafana는 오픈소스 시각화 도구로 Prometheus를 지원하고 있으며, 이외에도 Graphite, InfluxDB, OpenTSDB, Elasticsearch, CloudWatch 등과 같은 도구와 연동할 수 있다. Grafana를 사용하여 좀 더 고급스러운 대시보드를 만들어보자.

Prometheus 문서에는 Grafana 2.5.0 버전을 설명하고 있지만 여기서는 Grafana 최신 버전을 설치할 것이다.

Promethues, Node Exporter, Grafana 설치 시 Docker를 사용하여 설치하는 방법을 제공하고 있다.

Grafana Stable Version Download

[Download] https://grafana.com/grafana/download?platform=linux

$ sudo dpkg -i grafana_6.0.1_amd64.deb

Selecting previously unselected package grafana.

(Reading database ... 102594 files and directories currently installed.)

Preparing to unpack grafana_6.0.1_amd64.deb ...

Unpacking grafana (6.0.1) ...

dpkg: dependency problems prevent configuration of grafana:

grafana depends on libfontconfig; however:

Package libfontconfig is not installed.

dpkg: error processing package grafana (--install):

dependency problems - leaving unconfigured

Processing triggers for systemd (237-3ubuntu10.13) ...

Processing triggers for ureadahead (0.100.0-20) ...

Errors were encountered while processing:

grafana

위와 같은 화면이 출력되는 경우 다음 명령을 실행한다.

$ sudo apt-get -f install

실행 후 명령을 재실행한다.

$ sudo dpkg -i grafana_6.0.1_amd64.deb

(Reading database ... 104624 files and directories currently installed.)

Preparing to unpack grafana_6.0.1_amd64.deb ...

Unpacking grafana (6.0.1) over (6.0.1) ...

Setting up grafana (6.0.1) ...

Restarting grafana-server service... OK

Processing triggers for systemd (237-3ubuntu10.13) ...

Processing triggers for ureadahead (0.100.0-20) ...

grafana-server가 실행 중 인 것을 확인 할 수 있다.

$ systemctl status grafana-server.service

● grafana-server.service - Grafana instance

Loaded: loaded (/usr/lib/systemd/system/grafana-server.service; disabled; vendor preset: enabled)

Active: active (running) since Fri 2019-03-15 16:10:19 KST; 12s ago

Main PID: 9355 (grafana-server)

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com

Tasks: 13 (limit: 4915)

└─9355 /usr/sbin/grafana-server --config=/etc/grafana/grafana.ini --pidfile=/var/run/grafana/grafana-server.pid --packaging=deb cfg:default.paths.logs=/var/log/grafana cfg:default.path

Mar 15 16:10:25 prometheus grafana-server[9355]: t=2019-03-15T16:10:25+0900 lvl=info msg="Initializing ServerLockService" logger=server

Mar 15 16:10:25 prometheus grafana-server[9355]: t=2019-03-15T16:10:25+0900 lvl=info msg="Initializing UsageStatsService" logger=server

Mar 15 16:10:25 prometheus grafana-server[9355]: t=2019-03-15T16:10:25+0900 lvl=info msg="Initializing UserAuthTokenService" logger=server

Mar 15 16:10:25 prometheus grafana-server[9355]: t=2019-03-15T16:10:25+0900 lvl=info msg="Initializing CleanUpService" logger=server

Mar 15 16:10:25 prometheus grafana-server[9355]: t=2019-03-15T16:10:25+0900 lvl=info msg="Initializing NotificationService" logger=server

Mar 15 16:10:25 prometheus grafana-server[9355]: t=2019-03-15T16:10:25+0900 lvl=info msg="Initializing ProvisioningService" logger=server

Mar 15 16:10:25 prometheus grafana-server[9355]: t=2019-03-15T16:10:25+0900 lvl=info msg="Initializing TracingService" logger=server

Mar 15 16:10:25 prometheus grafana-server[9355]: t=2019-03-15T16:10:25+0900 lvl=info msg="Initializing Stream Manager"

Mar 15 16:10:25 prometheus grafana-server[9355]: t=2019-03-15T16:10:25+0900 lvl=info msg="HTTP Server Listen" logger=http.server address=0.0.0.0:3000 protocol=http subUrl= socket=

Mar 15 16:10:25 prometheus grafana-server[9355]: t=2019-03-15T16:10:25+0900 lvl=info msg="cleanup of expired auth tokens done" logger=auth count=0

웹 브라우저를 실행하여 http://localhost:3000로 접속해보자.

기본 계정: admin/admin

접속하면 바로 패스워드 변경 화면이 나오며, 원하는 패스워드를 입력 후 Save 버튼을 클릭한다.

 

 

Grafana의 데이터소스로 Prometheus를 추가하자.

첫 화면에서 Add data source를 클릭한다. 다음과 같은 화면이 출력된다. 여기서 Prometheus를 선택한다.

Prometheus를 선택하면 다음과 같은 화면이 나오며 해당 정보를 입력하면 된다.

Prometheus 서버의 정보를 입력하고 하단에 Save & Test 버튼을 클릭한다.

정상적으로 연결이 되면 하단에 Data source is working이라는 메세지가 출력된다.

앞서 설정한 Node Exporter에 대한 그래프를 생성해보자. 좌측 메뉴에 + 메뉴를 클릭하고 Create 밑에 Dashboard를 선택한다.

Dashboard를 선택하면 다음과 같은 화면이 출력되고, Add Query를 선택한다.

해당 화면에 Queries to 옆에 드롭 다운 메뉴가 Default로 되어 있으며, Prometheus로 변경한다.

첫 번째 텍스트 박스에서 Prometheus 그래프에서 확인 했던 매트릭 값을 입력해준다.

Promethues 그래프 매트릭 정보

Legend에 표시할 형식을 지정하면 되는데 레이블에 지정된 값을 {{ }}로 사용하면 그 값이 표시된다.

Grafana 사용자 커뮤니티에 사용자들이 공유한 JSON 형태의 파일을 다운 받은 후 Grafana에 Import해보자.

[참고] https://grafana.com/dashboards?search=node%20exporter

Dashboard 메뉴에서 Manage 메뉴를 선택하면 다음과 같은 화면이 나오고 오른쪽 상단에 Import 버튼을 클릭한다.

Upload .json File 버튼을 클릭하여 다운 받은 JSON 파일을 업로드 한다.

localhost 값을 Prometheus로 지정해야 한다.

Import 버튼을 클릭한다. 사용자들이 직접 만든 대시보드

​[출쳐] https://m.blog.naver.com/bokmail83/221489127312

 

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED