title: MySQL:6.Percona Monitoring and Management监控MySQL性能
categories: 数据库
tags:
- MySQL
timezone: Asia/Shanghai
date: 2019-03-10
简介
Percona Monitoring and Management (PMM)是一款开源的用于管理和监控MySQL和MongoDB性能的开源平台,通过PMM客户端收集到的DB监控数据用第三方软件Grafana画图展示出来。
PMM提供了对MyISAM、InnoDB、TokuDB和PXC/Glarera的监控,另外也提供了Query Analytics的功能,可以检视执行了哪些SQL指令,并对执行效能较差的语法进行优化。另外在新版本还支持了MySQL复制拓扑图结构构造。
PMM针对操作系统的部份也提供了硬盘、网络、CPU和RAM的监控,特别的是它提供了Context switches、Processes和interrupts的监控,Context Switches可以看到CPU上下切换文的状况,Processes可以方便了解系统有多少程序在等待I/O。
PMM Server是作为Docker镜像distributed,而PMM Client就是一般的RPM,它需要安装Server端和Client端软件。
Server组件
默认情况下,Metrics Monitor的保留期设置为30天,PMM Query Analytics的保留期设置为8天。
Query Analytics(QAN)是用来搜集指令并作性能分析的,其组件分别说明如下:
- QAN API:作为percona-qan-agent后端储存和读取Query资料用。
- QAN APP:提供图形化分析介面。
Metrics Monitor(MM)组件提供了MySQL和MongoDB历史监控信息,其组件分别说明如下:
Prometheus:一个开源的服务监控系统和时间序列数据库,它连接到PMM Client上的exporter聚集DB的监控数据。
– Consul:提供API让PMM Client可以远端替Prometheus新增、移除hosts,同时它也储存了监控的metadata。
Grafana:这是一个第三方Dashboard和图形构建器,用于可视化Prometheus中聚合的数据,以Web呈现。
– Percona Dashboards:是由Percona开发的一组用于Grafana的仪表板。
上述的2个Web页面都能从PMM Landing Page(就是PMM首页)直接连结。
Client组件
- ppm-admin:命令行的PMM Client管理工具,用来新增、移除监控的资料Instance。
- percona-qan-agent:用于搜集QAN查询效能性能资料,同时连结和传送资料给PMM Server中的QAN API。
- node_exporter:Prometheus exporter用于搜集一般系统信息(https://github.com/prometheus/node_exporter)。
- mysqld_exporter:Prometheus exporter用于搜集MySQL Server的信息(https://github.com/percona/mysqld_exporter)。
- mongodb_exporter:Prometheus exporter用于搜集MongoDB server的信息(https://github.com/percona/mongodb_exporter)。
环境
[root@centos181003 ~]# cat /etc/centos-release
CentOS Linux release 7.6.1810 (Core)
curl http://11.11.11.63/ping
{"version":"1.17.1"}
第一步:安装服务端
https://hub.docker.com/r/percona/pmm-server
概览:用一台A服务器运行监控程序,监控程序是基于Docker构建的。
PMM服务器的Docker映像公开托管在https://hub.docker.com/r/percona/pmm-server。
## 1.拉取PMM Server镜像
docker pull percona/pmm-server
## 2.创建一个容器用来保存PMM Server数据
## 此容器不运行,它只是用于确保在升级到较新的PMM Server映像时保留所有PMM数据。
## 除非您打算清除所有PMM数据并重新开始,否则请勿删除或重新创建此容器。
docker create \
-v /opt/prometheus/data \
-v /opt/consul-data \
-v /var/lib/mysql \
-v /var/lib/grafana \
--name pmm-data \
percona/pmm-server:latest /bin/true
## 3.运行PMM Server镜像
docker run -d \
-p 80:80 \
--volumes-from pmm-data \
--name pmm-server \
--restart always \
percona/pmm-server:latest
## 4.打开浏览器登录管理页面
http://11.11.11.63
## 5.获取诊断日志
https://<address-of-your-pmm-server>/managed/logs.zip
第二步:安装客户端
客户端下载地址:https://www.percona.com/downloads/pmm/
## 1.下载并安装
wget https://www.percona.com/downloads/pmm/1.17.1/binary/redhat/7/x86_64/pmm-client-1.17.1-1.el7.x86_64.rpm
yum install -y pmm-client-1.17.1-1.el7.x86_64.rpm
## 2.连接到服务器
pmm-admin config --server 11.11.11.63:80
## 3.添加监控项MySQL
pmm-admin add mysql --user root --password Xiaoliu123!
## 4.查看监控项
pmm-admin list
## 5.测试网络
pmm-admin check-network
附录:
PMM部署文档:https://www.percona.com/doc/percona-monitoring-and-management/deploy/index.html