- PMM은 서버/클라이언트로 구성되어 MySQL(MariaDB), MongoDB, OS(Linux)를 모니터링 할 수 있는 플랫폼
- PMM Server: PMM Client에서 수집된 데이터를 저장하겨 웹기반의 대시보드와 그래프 표시
- PMM Client: 모니터링 대상 서버에 설치되는 에이전트로 서버정보, DB정보, 쿼리정보 등을 수집하여 PMM Server에 전달
- 테스트 목적으로는 한 대의 서버에 Server/Client를 모두 설치하나 실제 운영상에서는 분리하는 것이 좋음
- PMM Server는 Docker 이미지로 배포되므로 Docker 설치가 필요하다.
> sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine
> wget -qO- https://get.docker.com/ | sh
> docker pull percona/pmm-server
> docker images | grep pmm
> docker create -v /opt/prometheus/data -v /opt/consul-data -v /var/lib/mysql --name pmm-data percona/pmm-server /bin/true
- PMM 서버 컨테이너 생성 / 실행 (포트 변경이 필요하다면 80:80을 사용할포트:80으로 변경)
> docker run -d -p 80:80 --volumes-from pmm-data --name pmm-server --restart always percona/pmm-server
> docker ps -a
> 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
- 다운로드 링크에서해당 OS의 최신버전 URL을 따와서 위와같이 실행
- 혹은, 파일을 직업 올린 후에 해당 위치에서 위의 명령어 실행
> pmm-admin config --client-name 클라이언트이름 --server 서버아이피:포트
# --bind-address 사설아이피 --client-address 공용아이피 (방화벽 설정이 되어있을 경우)
- 모니터링 서비스
- linux:metrics > 일반 시스템 모니터링
- mysql:metrics > MySQL 모니터링
- mysql:queries > MySQL 쿼리 모니터링
- mongodb:metrics > MongoDB 모니터링
- mysql > linux:metrics + mysql:metrics + mysql:queries
- mongodb > linux:metrics + mongodb:metrics
> pmm-admin add mysql --user root --password 루트비밀번호
> pmm-admin list
> docker ps
# 결과
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d99b87dbc8f1 percona/pmm-server "/opt/entrypoint.sh" 13 days ago Up About a minute 443/tcp, 0.0.0.0:9001->80/tcp pmm-server
> docker exec -it CONTAINER ID /bin/bash
# pmm-server 컨테이너의 bash 쉘에 접속
> vi /etc/grafana/grafana.ini
[smtp]
enabled = true
host = smtp.gmail.com:465
user = your.gmail.account@gmail.com
password = yourpassword
cert_file =
key_file =
skip_verify = false
from_address = admin@grafana.localhost
from_name = PMM
ctrl + d
또는 ctrl + p
+ ctrl + q
로 도커 컨테이너 쉘 종료
- pmm-server 도커 컨테이너 재시작
> docker restart pmm-server
- Grafana 대쉬보드 접속 → 좌측 상단 Grafana 아이콘 클릭 → 드롭다운 메뉴에서 Alerting 클릭
- Create an alert notification 클릭
Name: Gmail Alert
Type: email
Send on all alerts: Check
Include Images: Check
Email Address: 받을 사람 주소 목록 (여러개일 경우 ; 로 구분)