PMM(Percona Monitoring and Management)
是一个用于管理和监控数据库性能的开源平台。 。 它能提供全面的基于时间和各类监控指标、计数器的分析。

性能测试中,是做数据库监控的较好工具。

官网
https://www.percona.com/doc/percona-monitoring-and-management/index.html

支持的数据库

mysql、mongodb、postgresql

原理分析


以 mysql 为例,整个工作的基本原理简单说:

  1. PMM-Client 客户端,采用 mysql_exporter(多数软件都有此 exporter 监控计数器),收集数据
  2. PMM-Client 客户端调用 PMM-Server 服务端的 api,把收集的数据保存到服务端的数据库。
  3. PMM-Server 服务端其实是集成了 Grafana 的功能,支持对收集的数据做可视化展示和查询

快速搭建

  1. 安装服务端
$ docker pull percona/pmm-server:1
$ 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 /bin/true
$ docker run -d \
   -p 80:80 \
   --volumes-from pmm-data \
   --name pmm-server \
   --restart always \
   percona/pmm-server:1

测试是否成功
浏览器访问http://服务器端ip:端口   
  1. 安装客户端 - 在目标数据库主机
$ yum install pmm-client
  1. 配置客户端监控
pmm-admin config --server 服务器端ip:端口 
pmm-admin add mysql:metrics --user 数据库用户名  --password 数据库密码 --host 数据库IP
pmm-admin add mysql:queries --user 数据库用户名  --password 数据库密码 --host 数据库IP

效果展示

慢 sql 监控:可以直观看到慢 sql 的执行过程、执行计划、执行详情、索引详情

数据库性能监控:可以监控 CPU、IO、Swap、Network

扫一扫,关注我


↙↙↙阅读原文可查看相关链接,并与作者交流