当前位置: 首页 > news >正文

PMM:一款开源的数据库监控与管理工具

PMM(Percona Monitoring and Management)是一款开源的数据库监控、可观测性和管理工具,专注于 MySQL、PostgreSQL、MongoDB 等数据库的性能优化、故障排查和健康管理。

PMM 项目主要使用 Go 语言开发,遵循 AGPLv3 开源协议,源代码托管在 GitHub:

https://github.com/percona/pmm/

体系结构

PMM 采用经典的客户端-服务器(CS)架构,如下图所示:

其中,PMM Server 作为中心化服务,用于存储、分析来自 Client 的数据,并且提供 Web 界面进行可视化。它整合了多个开源组件:

  • Query Analytics(QAN):支持数据库性能分析,包括后端 QAN API 以及前端 QAN UI。
  • Grafana:提供强大的数据可视化能力,以仪表盘(Dashboards)的形式展示性能指标。
  • VictoriaMetrics:作为时间序列数据库,高效存储监控数据。PMM 早期版本使用 Prometheus。
  • ClickHouse:用于支持查询分析功能,存储和分析查询日志。

PMM Client 安装在需要监控的目标数据库服务器上,负责收集数据库性能指标(例如查询延迟、连接数、锁状态等)和系统指标(例如 CPU、内存、磁盘 I/O)。它通过一系列称为 Exporters 的组件来抓取数据。

PMM Client 和 PMM Server 之间使用 SSL/TLS 加密连接确保数据安全。

功能特性

  • 查询分析:自动抓取并分析 SQL 查询性能,快速识别慢查询、高负载操作,并提供优化建议。
  • 性能监控:提供实时和历史的性能指标监控,涵盖操作系统(CPU、内存、磁盘I/O、网络)和数据库深层指标。
  • 可视化仪表盘:友好的用户界面,提供了开箱即用的预置仪表盘,同时也支持自定义仪表盘。
  • 告警与通知:支持基于预定义的规则(如复制中断、磁盘空间不足)触发告警,并可通过邮件等渠道发送通知。
  • Percona 顾问:内置顾问程序定期执行数据库检查,识别潜在的安全威胁、性能下降、数据丢失或者损坏问题。
  • 备份与恢复:PMM 可以零停机备份关键数据并最小化性能影响,也可以进行计划备份(热备、增量备份、物理备份)并且执行 PITR 恢复。

在线体验

PMM 提供了一个在线体验环境,地址如下:

https://pmmdemo.percona.com/

下载安装

PMM 提供了多种安装方法,使用 Docker 部署 PMM Server 的命令如下:

docker pull percona/pmm-server:3docker volume create pmm-datadocker run --detach --restart always \
--publish 443:8443 \
--volume pmm-data:/srv \
--name pmm-server \
percona/pmm-server:3

启动服务之后,在浏览器中输入以下地址:

https://SERVER_IP_ADDRESS

默认用户名和密码都是 admin,登录之后建议修改密码。

对于要监控的数据库服务器,还需要安装 PMM Client 并且进行相应的配置,建议参考以下官方文档:

https://docs.percona.com/percona-monitoring-and-management/3/quickstart/quickstart.html

总结

PMM 是一款功能强大且全面的开源数据库监控管理工具,对于需要深入洞察数据库性能、进行有效故障排查和优化的团队来说,是一个非常好的选择。它的开源特性也意味着你可以更灵活地进行定制和扩展。

http://www.dtcms.com/a/377697.html

相关文章:

  • pyinstaller打包多个文件成一个exe
  • JavaScript逆向非对称加密算法
  • 基于EB_S32K3XX芯片的EMIOS_PWM的输出_1
  • 计算机毕设 java 高校会议信息管理系统的设计与实现 基于 SSM 框架的高校会议服务平台 Java+MySQL 的会议室预约与管理系统
  • Git 初识
  • 安全用电管理系统助力银行以全链路监测
  • 3.远程控制网络编程的设计上
  • 存算一体芯片生态评估:从三星PIM到知存科技WTM2101
  • 智联未来 点赋科技
  • SpringBoot项目健康检查端点返回为down排查思路
  • yolov8(yolov11)目标识别使用Tensorrt推理-2.0(C++Api)
  • 《Java中的IO流》
  • sql语句练习
  • 《深度学习的核心公式》
  • 划痕缺陷检测:3类成因,对应3套打光方案
  • 摆动序列:如何让数组“上下起伏”地最长?
  • 模型 公地悲剧
  • 深入理解 Android targetSdkVersion:从 Google Play 政策到依赖冲突
  • DDNS动态域名解析服务:原理与工具详解全攻略,外网畅访内网设备用自定义固定域名
  • 【系统分析师】第20章-关键技术:信息物理系统分析与设计(核心总结)
  • 批量更新数据:Mybatis update foreach 和 update case when 写法及比较
  • 九、瑞萨发布RZT/N认证的PROFINET-IRT和PROFIdrive软件协议栈
  • Linux系统学习之注意事项及命令基本格式
  • MoE架构训练系统设计:专家并行与门控网络优化策略
  • 深入分析神马 M56S+ 202T 矿机参数与性能特点
  • 工业RFID现场网关模块:实现多协议互通,128台读写设备互连!
  • Linux系统之----信号
  • 硅基计划4.0 算法 归并排序
  • 关于发布未来工业互联网基础理论与关键技术重大研究计划2025年度项目指南的通告
  • RAG技术解析:AI如何“边查边答”,还要守住数据安全底线?