[MYSQL] PMM 모니터링

반응형
Docker & PMM Server 설치

 

1. Docker & Docker Registry 설치

yum -y install docker docker-registry
Docker가 설치되었으면 재기동시 자동으로 데몬이 올라올수 있게 서비스를 등록해준다.
 

 

2. Services 등록

systemctl enable docker.service

 

3. Service 시작 및 상태 확인

systemctl start docker

systemctl status docker.service

 

4. Docker image 내려받기

docker pull percona/pmm-server

 

5. Image 확인

docker images

 

6. PMM data container 생성

docker create -v /opt/prometheus/data -v /opt/consul-data -v /var/lib/mysql --name pmm-data percona/pmm-server /bin/true

f999580a1024387cb545b6d6fad3f46cd4dff5dc90880d2c024ffbe2e965b275

 

7. Container Image 확인

docker ps -a


CONTAINER ID        IMAGE                COMMAND             CREATED             STATUS              PORTS               NAMES
f999580a1024        percona/pmm-server   "/bin/true"         14 seconds ago      Created                                 pmm-data

 

8.  PMM Server Container 실행

-- 외부에서 접속하는 port를 변경하여 설정이 가능하다 (80 -> 8080, 443 -> 4433)
docker run --detach --restart always --publish 8080:80 --publish 4433:443 --volumes-from pmm-data --name pmm-server percona/pmm-server
a2298fdccd20411d5b512788d533437934c4859e6f69484bf3a02fdc9e264425

 

9. 실행중인 container 확인

docker ps
CONTAINER ID        IMAGE                COMMAND                CREATED             STATUS       PORTS                  NAMES

a2298fdccd20        percona/pmm-server   "/opt/entrypoint.sh"   15 seconds ago      Up 14 seconds (unhealthy)   0.0.0.0:8080->80/tcp, 0.0.0.0:4433->443/tcp   pmm-server


 

10. Container 중지 

docker stop a2298fdccd20

-- 삭제 할때
docker rm a2298fdccd20

 

PMM 서버 접속

 

1. 접속확인

서버의 IP와 port를 확인해서 서버 콘솔을 접속한다.
 url : http://서버 IP:8080
 콘솔 접속시 최초 ip/password는 admin/admin이며 접속 후 password 변경화면이 나온다.

 

PMM Client 설치 & PMM 계정 생성

1. yum repositories 등록

yum install -y https://repo.percona.com/yum/percona-release-latest.noarch.rpm

 

2. pmm client 설치

yum install -y pmm2-client

 

3. pmm admin 설치 version 확인

systemctl status pmm-agent

● pmm-agent.service - pmm-agent
   Loaded: loaded (/usr/lib/systemd/system/pmm-agent.service; enabled; vendor preset: disabled)
   Active: active (running) since 금 2022-10-21 08:43:22 KST; 45s ago
 Main PID: 9288 (pmm-agent)
    Tasks: 5
   Memory: 6.2M
   CGroup: /system.slice/pmm-agent.service
           └─9288 /usr/sbin/pmm-agent --config-file=/usr/local/percona/pmm2/config/pmm-agent.yaml


4. PMM 계정 생성 및 권한 부여
- 클라이언트 설치가 끝나면 MySQL parameter를 설정하여 PMM 계정 생성 및 performance_schema를 활설화 시켜준다.

create user pmm@'127.0.0.1' identified by 'mysql' WITH MAX_USER_CONNECTIONS 10;
GRANT SELECT, PROCESS, SUPER, REPLICATION CLIENT, RELOAD, show view ON *.* TO 'pmm'@'127.0.0.1' ;
GRANT SELECT, UPDATE, DELETE, DROP ON performance_schema.* TO 'pmm'@'127.0.0.1';

- MySQL 성능 모니터링을 위해서 Slow query와  performance_schema 사용을 해야한다.

 

PMM Server 등록

 

1. PMM Server 연결

pmm-admin config --server-insecure-tls --server-url=https://admin:admin@192.168.56.101:4433

Checking local pmm-agent status...
pmm-agent is running.
Registering pmm-agent on PMM Server...
Registered.
Configuration file /usr/local/percona/pmm2/config/pmm-agent.yaml updated.
Reloading pmm-agent configuration...
Configuration reloaded.
Checking local pmm-agent status...
pmm-agent is running.

 

2. confile 확인 

cat /usr/local/percona/pmm2/config/pmm-agent.yaml

# Updated by `pmm-agent setup`.
---
id: /agent_id/e80c154e-5601-4d38-9b72-c7aa89a73760
listen-address: 127.0.0.1
listen-port: 7777
server:
    address: 192.168.56.101:4433
    username: admin
    password: admin
    insecure-tls: true
paths:
    paths_base: /usr/local/percona/pmm2
    exporters_base: /usr/local/percona/pmm2/exporters
    node_exporter: /usr/local/percona/pmm2/exporters/node_exporter
    mysqld_exporter: /usr/local/percona/pmm2/exporters/mysqld_exporter
    mongodb_exporter: /usr/local/percona/pmm2/exporters/mongodb_exporter
    postgres_exporter: /usr/local/percona/pmm2/exporters/postgres_exporter
    proxysql_exporter: /usr/local/percona/pmm2/exporters/proxysql_exporter
    rds_exporter: /usr/local/percona/pmm2/exporters/rds_exporter
    azure_exporter: /usr/local/percona/pmm2/exporters/azure_exporter
    vmagent: /usr/local/percona/pmm2/exporters/vmagent
    tempdir: /tmp
    pt_summary: /usr/local/percona/pmm2/tools/pt-summary
    pt_pg_summary: /usr/local/percona/pmm2/tools/pt-pg-summary
    pt_mysql_summary: /usr/local/percona/pmm2/tools/pt-mysql-summary
    pt_mongodb_summary: /usr/local/percona/pmm2/tools/pt-mongodb-summary
ports:
    min: 42000
    max: 51999
log-level: warn
debug: false
trace: false
loglinescount: 1024
window-connected-time: 1h0m0s

 

3. MySQLD_exporter 연동

pmm-admin add mysql --query-source=perfschema --username=pmm --password=mysql

MySQL Service added.
Service ID  : /service_id/898a59b2-72ca-45fb-9ccf-7e65ac415292
Service name: rac1-mysql

Table statistics collection enabled (the limit is 1000, the actual table count is 329).

 

# Dashboard 에 다시 접속하면 연동된 것을 확인 할 수 있다.

반응형

'Database > MYSQL' 카테고리의 다른 글

[MYSQL] Cluster Index  (0) 2022.10.30
[MYSQL] Lock 구조 & Query  (1) 2022.10.27
[MYSQL] MYSQL 아키텍처  (0) 2022.10.21
[MYSQL] 모니터링 쿼리  (0) 2022.10.19
[MYSQL] Cold backup, Hot backup, Logical backup, Physical Bakcup  (0) 2022.10.12