- 개요
● Percona에서 ‘Grafana, Prometheus’를 이용해서 무료로 배포하고 있는 모니터링
툴을 말한다
→ Grafana : 다중 플랫폼 오픈 소스 분석 및 대화형 시각화 웹 애플리케이션
→ Prometheus : 이벤트 모니터링 및 경고에 사용되는 무료 소프트웨어 응용 프로그램
● 서버와 클라이언트 형태로 구성되어 있고 MySQL(MariaDB), PostgreSQL, MongoDB 등
에서 사용가능하다
● 모니터링하고자 하는 서버가 1대라면 서버와 클라이언트를 모두 설치해도 되지만 DB
서버가 다수 개 라면 모니터링 전용 Server를 두고 각각 DB서버에는 Client만 운영하면 된다
● i-Top하고 비슷하다
- 종류
● PMM Server
→ PMM Client에서 수집된 데이터를 저장하고 이를 이용해 웹 기반의 대시보드와
그래프를 출력
→ Docker 이미지로 배포되고 Docker Container로 제공된다
● PMM Client
→ 모니터링하고자 하는 DB서버에 직접 설치
→ 서버 정보, DB정보, 쿼리 정보 등을 수집해 PMM Server로 보내준다
- 설치 및 등록
● 작업 환경
→ CentOS 7.9.2009
● PMM Server
→ curl
: Client의 URL에서 커맨드 라인이나 소스코드로 손 쉽게 웹 브라우저처럼 활용할 수
있도록 해주는 기술이다
: 설치
1. 이미지 다운로드
2. 컨테이너 생성
3. 컨테이너 포트 구성
PMM Client
- 패키지 설치
(linux) # wget https://downloads.percona.com/downloads/pmm2/2.31.0/binary/redhat/7/x86_64/pmm2-client-2.31.0-6.el7.x86_64.rpm
→ 생성된 사용자(pmm-agent) 확인
: 패키지를 설치하면 사용자는 자동으로 생성된다- 작업
● Server & Client
→ 쉘 생성(편하게 하기 위해서)
(linux) # vi a.sh
(linux) # /root/a.sh
#!/bin/bash
yum update
yum -y install yum-utils device-mapper-persistent-data lvm2
/usr/bin/yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum -y install docker-ce
(linux) # yum makecache fast
(linux) # curl -L https://github.com/docker/compose/releases/download/1.29.2/docker-compose-Linux-x86_64 > /usr/local/bin/docker-compose
(linux) # chmod +x /usr/local/bin/docker-compose
(linux) # docker-compose --version
(linux) # systemctl restart docker
Server
(linux) # docker pull percona/pmm-server:2
(linux) # docker images | grep percona
(linux) # docker search percona
→ docker 이미지 찾기
(linux) # docker create -v /srv --name pmm-data percona/pmm-server:2 /bin/true
(linux) # docker ps -a
포트 8080, 443 추가
(linux) # docker run -d -p 8080:80 -p 4443:443 --volumes-from pmm-data --name pmm-server --restart always percona/pmm-server:2
(linux) # docker ps -a |grep percona
결과 화면
firefox 키고 172.17.0.1:8080 검색, 아이디 비번 admin, admin
Client
(linux) # wget https://downloads.percona.com/downloads/pmm2/2.31.0/binary/redhat/7/x86_64/pmm2-client-2.31.0-6.el7.x86_64.rpm
(linux) # rpm –ivh pmm2-client-2.31.0-6.el7.x86_64.rpm
(linux) # tail -5 /etc/passwd
(linux) # pmm-admin config --server-insecure-tls --server-url=https://admin:admin@172.17.0.1:4443
: 기본 비밀번호
(linux) # pmm-admin config --server-insecure-tls --server-url=https://admin:P@ssw0rd@172.17.0.1:4443
: 처음에 생성할 때 비밀번호를 P@ssw0rd로 변경하였음
mysql에 pmm 사용자 생성
grant all on mysql.* to pmm@'127.0.0.1'identified by 'P@ssw0rd';
(linux) # pmm-admin add mysql --query-source=perfschema --username=pmm --password=P@ssw0rd 127.0.0.1:3306 --service-name=pmmdb
● 결과 화면
● pmm 서버 내용 확인
- 실습 ● DB서버가 다수개라고 가정한다 ● 모니터링 전용 Server를 구성하고 나머지 DB서버에 Client를 운영하도록 한다 ● 모니터링 화면에서 node가 추가된 것 확인한다 → client 작업(linux) # wget https://downloads.percona.com/downloads/pmm2/2.31.0/binary/redhat/7/x86_64/pmm2-client-2.31.0-6.el7.x86_64.rpm
(linux) # rpm -ivh pmm2-client-2.31.0-6.el7.x86_64.rpm
(linux) # tail -5 /etc/passwd
(linux) # pmm-admin config --server-insecure-tls --server-url=https://admin:P@ssw0rd@192.168.10.128:4443 192.168.10.129 generic node