1. 通过 Docker 安装 Server
关于在国内如何正常访问 Docker Repo 以及 Docker 镜像仓库的方式,在别的博文里会写出来
- 创建 pmm 建议使用的文件夹
/srv
mkdir /srv
chown -R root:root /srv
- 拉取镜像
docker pull percona/pmm-server:2
- 创建 PD
docker create --volume /srv --name pmm-data percona/pmm-server:2 /bin/true
- 后台运行镜像
docker run --detach --restart always --publish 443:443 --volumes-from pmm-data --name pmm-server percona/pmm-server:2
- 查看镜像情况
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
4584d30eba89 percona/pmm-server:2 "/opt/entrypoint.sh" 12 seconds ago Up 11 seconds (healthy) 80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp pmm-server
- 查看监听
netstat -lntp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
...
tcp6 0 0 :::443 :::* LISTEN 23195/docker-proxy
- 更改密码
docker exec -t pmm-server change-admin-password 'kdURwXm_hmG6X1Kq'
...
Admin password changed successfully ✔
- Web 登录页面
2. rpm 安装 Client
- 安装 RPM
yum install -y https://repo.percona.com/yum/percona-release-latest.noarch.rpm
yum install -y pmm2-client
- 把 pmm-client 注册到 pmm-server 里
PMM_AGENT_SERVER_PASSWORD=kdURwXm_hmG6X1Kq
pmm-admin config --server-insecure-tls --server-url=https://admin:${PMM_AGENT_SERVER_PASSWORD}@192.168.10.162:443
3. 接管社区版 MySQL
PMM 支持两种观测方式,一种是通过 Slow Log 来观测,另一种是通过 Performance Schema 来观测,这里根据官方的建议,选择 PS 库
- 创建 pmm 用户
CREATE USER 'pmm'@'%' IDENTIFIED BY 'pmm_123' WITH MAX_USER_CONNECTIONS 10;
GRANT SELECT, PROCESS, REPLICATION CLIENT, RELOAD, BACKUP_ADMIN ON *.* TO 'pmm'@'%';
- 更改配置文件
cat << EOF >> /usr/local/mysql/cnf/my.cnf
performance_schema=ON
performance-schema-instrument='statement/%=ON'
performance-schema-consumer-statements-digest=ON
innodb_monitor_enable=all
EOF
- 重启 mysqld
- 在网页界面配置要监控的 MySQL 实例
- 重启 PMM Server 后,可以看到数据源已经被成功添加
4. 监控 agent 所在主机
- 实际上,在执行
pmm-admin config
注册的时候,后台会起一个pmm-agent
的服务,对所在主机也加了个监控,所以不需要额外配置 - 这里由于是在平时做实验的虚拟机上注册的,所以
host
没什么实际意义,生产环境部署时需要区分下
pmm-admin status
---
Agent ID : /agent_id/99fca4cb-1768-4f7e-8b4b-0a6cc2ace602
Node ID : /node_id/02c60c05-cce2-4131-96b0-03ee9f433951
Node name: vm-192-168-10-162
PMM Server:
URL : https://192.168.10.162:443/
Version: 2.42.0
PMM Client:
Connected : true
Time drift : 34.535µs
Latency : 323.023µs
Connection uptime: 94.85
pmm-admin version: 2.42.0
pmm-agent version: 2.42.0
Agents:
/agent_id/4d0ceae6-b981-43f5-9f8c-5ccccd83544c node_exporter Running 42000
/agent_id/bf6b74b0-ebc5-47dd-8ff0-2802a2bd03b7 vmagent Running 42001