MySQL:6.Percona Monitoring and Management监控MySQL性能


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:///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

你可能感兴趣的:(MySQL)