李云洲 发布的文章

资源环境:

- 20套自建MySQL数据库

- 1台空闲主机,用于部署PMM (Percona 监控管理系统)

部署步骤

第一步,在空闲主机安装 Docker-ce并运行

安装必要组件:

yum install -y yum-utils device-mapper-persistent-data lvm2

添加软件源信息,因为此案例MySQL部署在阿里云上,所以这里配置为阿里云镜像源地址:

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

更新 yum 缓存:

yum makecache fast

安装 Docker-ce并启动:

 yum -y install docker-ce && systemctl start docker

如遇到selinux版本报错相关提示,执行如下命令:

yum install --setopt=obsoletes=0 docker-ce-17.03.2.ce-1.el7.centos.x86_64 docker-ce-selinux-17.03.2.ce-1.el7.centos.noarch 

第二步,在监控主机部署PMM-Server并测试运行情况

下载最新PMM Server Docker最新镜像,目前最新版本为1.17.3,大小约1.15G,创建名为pmm-data的容器但不启动

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

以80端口访问的方式启动容器,并命名为pmm-server,内部端口为80,外部端口80

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

查看pmm-server运行状态

浏览器访问测试,http://ip地址,打开正常,PMM-Server安装完成

第三步:监控MySQL主机运行情况

将PMM-Client客户端(下载地址:https://www.percona.com/downloads/pmm/)上传至MySQL所在的ECS主机

wget -P /root/ https://yunxiaobing-test.oss-cn-qingdao-internal.aliyuncs.com/pmm-client-1.17.3-1.el7.x86_64.rpm

由于ECS无外网访问权限,这里是将PMM-Client提前上传至OSS,ECS通过OSS内网地址下载客户端

采用相同的方式批量在ECS部署PMM-Client

rpm -ivh /root/pmm-client-1.17.3-1.el7.x86_64.rpm

批量连接PMM Server

pmm-admin config --server ip地址

批量添加MySQL监控,mysql用户需要select、process、super权限

pmm-admin add mysql --user yunxiaobing --password 15092417115 --query-source perfschema

至此,主要配置工作完成,登录PMM-Server,可实时监控MySQL数据库运行状态,并以Top10的方式显示慢查询记录情况

基本状态信息
基本信息.jpg

Top10慢查询
TOP10.jpg

点击进入慢查询记录,还可以进一步查看分析结果,包括EXPLIN输出及锁情况等
进一步分析.jpg