Percona Monitoring and Management(PMM)是一个开源平台,用于管理和监控MySQL和MongoDB的性能。它是由Percona公司管理数据库服务、支持和咨询领域的专家合作开发的。
它为MySQL和MongoDB服务器提供了全面的基于时间的分析,以确保您的数据尽可能高效地工作。
PMM架构:
PMM是传统的C/S模型,有2部分组成:
1.PMM Client:安装在要监视的每个数据库主机上。它收集监控方面的服务器硬件信息、一般系统信息和查询分析数据,以获得完整的性能概述。
2.PMM Server:PMM的核心部分,它聚合收集到的数据并在web界面中以表、仪表板和图形的形式显示它们。
架构图:
PMM Client
每个PMM Client 收集关于通用系统和数据库性能的各种数据,并将这些数据发送到相应的PMM Server
PMM Client 包括以下内容:
● pmm-admin:管理PMM Client的命令行工具,比如添加和删除要监视的数据库实例。
●pmm-mysql-queries-0:是一种服务,它管理QAN代理,从MySQL收集查询性能数据并将其发送到PMM服务器上的QAN API。
● pmm-mongodb-queries-0:是一种服务,它管理QAN代理,从MongoDB收集查询性能数据并将其发送到PMM服务器上的QAN API。
● node_exporter:是一个收集一般系统指标的 Prometheus exporter。
● mysqld_exporter:是一个收集MySQL服务指标的Prometheus exporter。
● mongodb_exporter:是一个收集MongoDB服务指标的Prometheus exporter。
● proxysql_exporter:是一个收集ProxySQL性能指标的Prometheus exporter。
PMM Server
PMM Server 运行在中央监视主机上。它通过以下方式作为一个设备分发:
● 可以用来运行容器的Docker映像
● 可以在VirtualBox或其他hypervisor中运行
● 可以通过Amazon Web服务运行
PMM服务器包括以下工具:
● Query Analytics 使您能够在一段时间内分析MySQL查询性能。除了客户端QAN agent 之外,它还包括以下内容:
-- QAN API: 用于存储和访问由运行在PMM客户机上的QAN代理收集的查询数据的后端。
-- QAN Web App:一个把收集的查询分析数据可视化的Web 应用程序。
● Metrics Monitor 提供对MySQL或MongoDB服务器实例至关重要的指标的历史视图。它包括以下内容:
-- Prometheus:是一个第三方时间序列数据库,它连接到运行在PMM Client上的exporters,并汇总exporters收集的指标。
Cousul 提供API,PMM Client 可以使用该API为Prometheus远程列出、添加和删除主机。
--* Grafana:*是一个第三方仪表盘和图形构建器,通过一个直观的Web页面可视化Prometheus数据。
● Orchestrator:是 一个MySQL复制拓扑管理和可视化工具