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

Docker环境安装

由于PMM提供了容器化的镜像包,我们需要先部署Docker环境。

检查内核(内核要求3.8或更高)

$ uname -r

安装依赖包

$ yum install libcgroup* xz-* libsecc* libltdl* policycoreutils-python -y

RPM安装Docker-Engine

$ 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配置

$ cat /etc/docker/daemon.json
{
     "data-root" : "/serivce/docker",
     "storage-driver": "devicemapper"
}

启动docker

$ serivce docker start

配置PMM镜像

如果机器配置了公网,可以直接从公共镜像库拉去对应的镜像。

docker pull percona/pmm-server:latest

如果是内网环境,可以先找一个公网机器安装docker拉取镜像后dump下载该镜像到内网环境中

$ docker save -o pmm-server.tar percona/pmm-server

内网机器挂载镜像

$ 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

创建数据卷

$ docker create -v /service --name pmm-data percona/pmm-server /bin/true

创建PMM容器

$ docker run -d -p 80:80 -p 443:443 --volumes-from pmm-data --name pmm-server --restart always percona/pmm-server

修改管理员密码

$ 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 ✔

访问控制面板
dashboard