PMM是由Percona开源的,用于管理和监视MySQL和MongoDB性能,是一个不错的性能监控工具。PMM主要由client和server构成,client部署在每个监控主机上,收集服务器指标、常规系统指标和查询分析数据;server用于聚合收集的数据,在web中以图表形式进行展现。

Docker环境安装
由于PMM提供了容器化的镜像包,我们需要先部署Docker环境。
检查内核(内核要求3.8或更高)
安装依赖包
1
  | 
$ yum install libcgroup* xz-* libsecc* libltdl* policycoreutils-python -y
  | 
 
RPM安装Docker-Engine
1
2
  | 
$ rpm -ivh docker-engine-selinux-1.13.1-1.el7.centos.noarch.rpm
$ rpm -ivh docker-engine-1.13.1-1.el7.centos.x86_64.rpm
  | 
 
修改docker配置
1
2
3
4
5
  | 
$ cat /etc/docker/daemon.json
{
     "data-root" : "/serivce/docker", 
     "storage-driver": "devicemapper"
}
  | 
 
启动docker
配置PMM镜像
如果机器配置了公网,可以直接从公共镜像库拉去对应的镜像。
1
  | 
docker pull percona/pmm-server:latest
  | 
 
如果是内网环境,可以先找一个公网机器安装docker拉取镜像后dump下载该镜像到内网环境中
1
  | 
$ docker save -o pmm-server.tar percona/pmm-server
  | 
 
内网机器挂载镜像
1
2
3
4
5
  | 
$ docker load -i pmm-server.tar
$ docker images
REPOSITORY                        TAG                 IMAGE ID            CREATED             SIZE
percona/pmm-server                latest              01363bda6e71        2 months ago        1.13 GB
10.0.139.161:5000/system/ubuntu   1                   94de3811d1cc        11 months ago       64.2 MB
  | 
 
创建数据卷
1
  | 
$ docker create -v /service --name pmm-data percona/pmm-server /bin/true
  | 
 
创建PMM容器
1
  | 
$ docker run -d -p 80:80 -p 443:443 --volumes-from pmm-data --name pmm-server --restart always percona/pmm-server
  | 
 
修改管理员密码
1
2
3
4
5
  | 
$ docker exec -t pmm-server bash -c  'ln -s /srv/grafana /usr/share/grafana/data; grafana-cli --homepath /usr/share/grafana admin reset-admin-password Abcd123'
INFO[10-04|10:20:45] Connecting to DB                         logger=sqlstore dbtype=sqlite3
INFO[10-04|10:20:45] Starting DB migration                    logger=migrator
Admin password changed successfully ✔
  | 
 
访问控制面板
