본문 바로가기

Database

DB 모니터링 TOOL(PMM) 구축

개요.

DB 모니터링을 Grafana를 통해 현재 EC2 서버 스펙단의 모니터링 및 일부 IOPS등의 모니터링을 하고 있으나, 세부적인 DB 매트릭에 대한 모니터링은 되지 않고 있기에 DB 전용 모니터링 시스템(PMM. percona monitoring management)을 구축하기로 함

 

목적. 

좀더 세밀한 지표를 설정 하고 모니터링 하여 DB에 문제가 발생시 즉각적으로 판단할 수 있는 근거를 마련하고자 함(Alert and 모니터링)

 

구축 방법.

  • docker 설치
  • PMM 서버 / 클라이언트 설치

 

docker 구축

// root 권한으로 로그인
yum -y upgrade // yum 최신버전 업데이트




sudo amazon-linux-extras install -y docker //aws 전용 리눅스 명령어


docker --version //dcoker 버전 확인


systemctl enable docker.service //서비스 등록


systemctl start docker // docker 스타트


sudo usermod -aG docker webuser //webuser에게 docker 권한부여


docker ps //docker 서비스 실행 확인

 

pmm 설치(server / cliner 동일 서버 구축)

docker pull percona/pmm-server //pmm docker 서버 이미지 다운로드


docker images | grep pmm // image 확인


docker create -v /opt/prometheus/data -v /opt/consul-data -v /var/lib/mysql --name pmm-data percona/pmm-server /bin/true //docker PMM 데이터 컨테이너 생성


docker run -d -p 80:80 --volumes-from pmm-data --name pmm-server --restart always percona/pmm-server //PMM 서버 컨테이너 생성 및 실행


docker ps -a // 생성된 컨테이너 확인
#PMM 메인 페이지: http://서버아이피
# 쿼리분석 페이지: http://서버아이피/qan


rpm -ivh https://www.percona.com/downloads/pmm-client/1.8.1/binary/redhat/7/x86_64/pmm-client-1.8.1-1.x86_64.rpm //PMM 클라이언트 설치




pmm-admin config --client-name <계정명> --server <host dns:80> //서버등록


pmm-admin add <RDS host> --user <계정명> --password <패스워드> //모니터링 서비스 등록


단, 모니터링 서비스 등록의 경우 EC2내에 설치된 DB가 아닌 RDS의 경우 위의 모니터링 서비스 등록 과정없이 내부 config에서 별도로 설정해줘야 동작하는듯 함

 

PMM 메인 페이지: http://서버아이피 접속 - PMM - PMM add Instance

Add on Amazn RDS Mysql

 

Credentials 추가

 

 

credentials가 추가되면 권한이 있는 RDS 목록이 나오는데 모니터링 할 항목을 활성화 하면 끝

 

현. 운영중인 Grafana에 연동

  • admin으로 로그인

 

Data Sources에서 prometheus 설정 및 plugin에서 PMM 설치 해야함

 

 

  1. plugins 설치

plugins에서 percona 찾아서 설치 또는 직접 설치

 

직접설치 방법.

https://github.com/percona/grafana-app 에서 PMM plugin 다운로드

다운로드한 plugin파일을 grafana/plugin 폴더에 그대로 복사

grafana 서비스 재기동

 

2. Data Sources에 prometheus  설정

  • add data source 클릭
  • prometheus 설정

 

 

 

이렇게 수행하면 운영중인 Grafana에서 PMM 서버에서 수집하는 데이터를 그대로 가져올수 있음

 

 

운영중인 grafana가 없다면 PMM 단일 서버/클라이언트로만 구축을 해도 Grafana가 자동으로 생성되기 때문에 그것을 사용하도 무방해보임~