PMM Server – Percona App for Grafana 플러그인 설치
Percona App for Grafana 플러그인은 Prometheus를 데이터 소스로 하는 MySQL 성능 모니터링과 시스템 모니터링을 위한 Grafana용 대시보드를 묶어놓은 플러그인이다. 상세한 설명은 github(https://github.com/percona/grafana-app) 내용을 참고한다.
010. Percona App plugin 압축 해제
Percona App 플러그인은 grafana-app github 사이트에서 ZIP파일로 직접 다운로드 받은 파일로 설치한다.(grafana-app-master.zip)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | [pmm@pmmserver ~]$ cd /home/pmm/programs/PMM105/ [pmm@pmmserver PMM105]$ unzip grafana-app-master.zip Archive: grafana-app-master.zip 8264b8e75eb16fe8a93f6d35c824f3f1a2bd46d5 creating: grafana-app-master/ extracting: grafana-app-master/.gitignore inflating: grafana-app-master/Gruntfile.js inflating: grafana-app-master/LICENSE inflating: grafana-app-master/README.md creating: grafana-app-master/dist/ inflating: grafana-app-master/dist/README.md creating: grafana-app-master/dist/components/ extracting: grafana-app-master/dist/components/config.html …………… creating: grafana-app-master/src/img/ inflating: grafana-app-master/src/img/percona_large.png inflating: grafana-app-master/src/img/percona_small.png inflating: grafana-app-master/src/module.js | cs |
020. Percona App plugin 디렉토리 경로 이동(플러그인 등록)
grafana-app-master 디렉토리를 grafana-app으로 이름을 변경하면서 Grafana Server의 플러그인 디렉토리로 이동(move)시킨다.
1 2 | [root@pmmserver ~]# cd /home/pmm/programs/PMM105 [root@pmmserver PMM105]# mv /home/pmm/programs/PMM105/grafana-app-master /var/lib/grafana/plugins/grafana-app | cs |
030. Percona App plugin 버그 패치
Percona App 플러그인에는 Grafana 대시보드의 Zoom 기능과 관련된 Interval 설정에 약간의 오류가 있다. 그라파나 플러그인 사이트와 github 사이트에 마이너 패치에 대한 내용이 친절히 나와 있다. 다음과 같이 datasource.js, query_ctrl.js 두 파일의 내용을 sed 명령어로 수정한다.1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | [root@pmmserver PMM105]# cd /usr/share/grafana/public/app/plugins/datasource/prometheus/ [root@pmmserver prometheus]# ls -al 합계 108 drwxr-xr-x 6 root root 4096 2016-10-19 14:45 . drwxr-xr-x 11 root root 4096 2016-10-19 14:45 .. -rw-r--r-- 1 root root 292 2016-08-01 19:28 README.md drwxr-xr-x 2 root root 4096 2016-10-19 14:45 dashboards -rw-r--r-- 1 root root 221 2016-08-01 19:28 datasource.d.ts -rw-r--r-- 1 root root 4737 2016-08-01 19:28 datasource.js -rw-r--r-- 1 root root 10763 2016-08-01 19:28 datasource.js.map -rw-r--r-- 1 root root 8538 2016-08-01 19:28 datasource.ts drwxr-xr-x 2 root root 4096 2016-10-19 14:45 img -rw-r--r-- 1 root root 44 2016-08-01 19:28 metric_find_query.d.ts -rw-r--r-- 1 root root 2167 2016-08-01 19:28 metric_find_query.js -rw-r--r-- 1 root root 430 2016-08-01 19:28 module.d.ts -rw-r--r-- 1 root root 541 2016-08-01 19:28 module.js -rw-r--r-- 1 root root 537 2016-08-01 19:28 module.js.map -rw-r--r-- 1 root root 464 2016-08-01 19:28 module.ts drwxr-xr-x 2 root root 4096 2016-10-19 14:45 partials -rw-r--r-- 1 root root 448 2016-08-01 19:28 plugin.json -rw-r--r-- 1 root root 512 2016-08-01 19:28 query_ctrl.d.ts -rw-r--r-- 1 root root 1775 2016-08-01 19:28 query_ctrl.js -rw-r--r-- 1 root root 3062 2016-08-01 19:28 query_ctrl.js.map -rw-r--r-- 1 root root 2155 2016-08-01 19:28 query_ctrl.ts drwxr-xr-x 2 root root 4096 2016-10-19 14:45 specs [root@pmmserver prometheus]# sed -i 's/expr=\(.\)\.replace(\(.\)\.expr,\(.\)\.scopedVars\(.*\)var \(.\)=\(.\)\.interval/expr=\1.replace(\2.expr,\3.scopedVars\4var \5=\1.replace(\6.interval, \3.scopedVars)/' ./datasource.js [root@pmmserver prometheus]# sed -i 's/,range_input/.replace(\/"{\/g,"\\"").replace(\/}"\/g,"\\""),range_input/; s/step_input:""/step_input:this.target.step/' ./query_ctrl.js | cs |
040. Grafana Server 재 기동
설치한 플러그인을 Grafana Server가 인식하기 위해서는 Grafana Server의 재 기동이 필요하다. 재 기동한다.
1 2 3 4 | [root@pmmserver prometheus]# service grafana-server stop OKopping Grafana Server ... [ OK ] [root@pmmserver prometheus]# service grafana-server start Starting Grafana Server: .... OK | cs |
050. Percona App Plugin 활성화
Grafana Server가 다시 기동하였으면 그라파나에 관리자 계정으로 접속하여 [메뉴] > [Plugins] > [App] 을 클릭하여 다음과 같이 Percona App이 잘 보이는지 확인한다.
060. Percona Dashbord 확인
App 을 클릭하면 [Config] 항목을 이동한다. “Enable” 버튼을 클릭한다.
“Enable” 버튼을 클릭하면 Percona App의 모든 대시보드가 자동으로 활성화 된다.
[Dashboards] 탭을 클릭하여 대시보드별로 활성화되었음을 확인한다.
[메뉴] > [대시보드] 를 클릭하면 등록완료된 Percona Dashboard 들이 보이며 각 대시보드를 클릭하여, 각 서버별로 지표들이 정상적으로 나오는 지 슬쩍 둘러보자.
각 대시보드의 뷰 기간은 기본값이 대부분 최근 12시간이다. node_exporter와 mysqld_exporter로 지표를 수집한지 몇 분 되지 않았다면 꼭 그래프가 나오지 않는것 처럼 느낄 수 있다. 각 대시보드 우측 상단의 "Time Range"를 최근 5분 정도로 줄여서도 확인해본다.
각 대시보드에서 보여주는 지표들은 간단히 다음과 같으며 PMM의 버전 업데이트로 대시보드가 추가되거나 그래프 또는 그래프의 여러 지표들이 추가되곤 한다.
- Cross Server Graphs
: Connection수 Query수 등의 대표적인 MySQL 성능 지표를 보여준다.(등록된 모든 MySQL 서버를 다중 선택)
- Disk Performance
: 모니터링 대상 호스트에 마운트 되어있는 디스크를 블럭디바이스(block device)별 성능 지표를 보여준다.
- Disk Space
: 모니터링 대상 호스트에 마운트 되어있는 디스크를 마운트된 디렉토리별 디스크 사용량을 보여준다.
- Galera Graphs
: 모니터링 대상 호스트가 Galera Cluster 로 구성이 되었다면 주요 클러스터 모니터링 지표를 보여준다.
- MySQL InnoDB Metrics
: 모니터링 대상 MySQL 서버의 InnoDB 엔진 관련 모니터링 지표를 보여준다.
- MySQL MyISAM Metrics
: 모니터링 대상 MySQL 서버의 MyISAM 엔진 관련 모니터링 지표를 보여준다.
- MySQL Overview
: 모니터링 대상 MySQL 서버의 전반적인 모니터링 지표를 보여준다.
- MySQL Performance Schema
: (Performance Schema 기능을 사용중이라면)모니터링 대상 MySQL 서버의 Performance Schema 모니터링 지표를 보여준다.
- MySQL Query Response Time
: (Query Reponse Time 플러그인을 사용중이라면)모니터링 대상 MySQL 서버의 쿼리 응답시간 관련 모니터링 지표를 보여준다.
: Query Reponse Time 플러그인은 MariaDB 10.0.4, Percona Server 5.5.8-20.0 버전 이상에서만 사용할 수 있다.
- MySQL Replication
: 모니터링 대상 MySQL 서버의 레플리케이션 관련 모니터링 지표를 보여준다.
- MySQL Table Statistics
: (User Statistics 기능을 사용중이라면)모니터링 대상 MySQL 서버의 테이블 사용량, 접근 행 수 등의 테이블 관련 모니터링 지표를 보여준다.
; User Statistics 기능은 MariaDB MariaDB 5.2.0, Percona Server 5.5.10-20.1 버전 이상에서만 사용할 수 있다.
- MySQL User Statistics
: (User Statistics 기능을 사용중이라면)모니터링 대상 MySQL 서버의 사용자별 접속 횟수 등의 사용자 관련 모니터링 지표를 보여준다.
; User Statistics 기능은 MariaDB MariaDB 5.2.0, Percona Server 5.5.10-20.1 버전 이상에서만 사용할 수 있다.
- Prometheus
: 데이터소스로 설정되어있는 Prometheus 데이터베이스의 상태 지표를 보여준다.
- Summary Dashboard
: 모니터링 대상 호스트의 시스템/MySQL 모니터링 지표를 요약하여 보여준다.
- System Overview
- TokuDB Metrics
: 모니터링 대상 MySQL 서버의 TokuDB 엔진 관련 모니터링 지표를 보여준다.
- Trends Dashboard
: 모니터링 대상 호스트의 시스템/MySQL 주요 모니터링 지표의 변동 추이를 보여준다.
댓글 없음:
댓글 쓰기