1. PMM(Percona Monitoring and Management)
Percona 监控和管理, 主要是为了监控 MySQL和 MongoDB性能的开源平台, 专业的数据库监控,随着用户的需求,后期可监控 proxysql
-
其他监控
Lepus (天兔)
1) 图形化界面相对来说较楼
2) 监控项少
3) 官方对其停止维护与更新
Zabbix
1) 图形化简陋
PMM:
1) web 界面比较宝高逼格
2) 监控项多
3) 连接、线程、
2. PMM 架构
- PMM Client: 部署在每个监控的数据库主机,搜索主机,数据库和查询分析数据等。
- PMM Server: 汇集数据并展示,提供表, dashboards 和 graph 的web界面
PMM client 组件:
pmm-mysql-queries-0 用于收集MySQL查询性能,将其数据发送至 PMM Server 上 QAN API上
pmm-admin 客户端命令行工具,用于添加监控和删除监控
node_exporter 用于搜集系统性能的数据。
mysqld_exporter 用于搜集mysql 的性能数据
PMM Service 组件:
QAN API 获取 监控数据的接收接口
QAN App 对 数据查询并进行分析
PMM Landing Page 生成监控数据的页面,Grafana(第三方的图形展示界面)提供页面
Orchestrator 用于提供MySQL复制到拓扑关系图
Prometheus 普罗米修斯, 用于做存储
Grafana 用于生成比较好的显示效果, 仪表板 第三方的 图形展示界面
Consul API 注册中心API接口
Consul web ui 注册中心web 界面
PMM 原理:
PMM Client 通过 pmm-admin 将 mysql添加为监控项,当 用户在插入、删除、修改、查询数据时, 被 agent 代理收集到信息,将信息发送到 PMM server中 由QAN Api 接口接收数据信息,将其转发至 QAN App 进行数据分析,将分析好的数据 ,通过 PMMLanding page 发布,PMM Landing page 将数据交给 Grafana 来处理,最后形成炫酷的监控界面。
exporter 将收集的系统信息,交给 Promenade 进行存储,然后将其传输给 Grafana 形成炫酷的图形化界面,通过 PMM Landing page 发布为 web 页面
pmm-admin ,用于添加、删除、启动、停止、维护监控项
3. 部署 PMM
实验环境:
PMM Client : 192.168.116.103
所需工具:
mysql-community-client-5.6.44-2.el6.x86_64.rpm
mysql-community-common-5.6.44-2.el6.x86_64.rpm
mysql-community-libs-5.6.44-2.el6.x86_64.rpm
mysql-community-server-5.6.44-2.el6.x86_64.rpm
percona-toolkit-3.1.0-2.el7.x86_64.rpm
pmm-client-1.17.1-1.el7.x86_64.rpm
percona-release-0.1-6.noarch.rpm
PMM Server: 192.168.116.104
所需 Docker 环境支持
1) 部署 pmm-server
- ### 安装docker
[root@localhost ~]# yum -y install yum-utils device-mapper-persistent-data lvm2
[root@localhost ~]# yum-config-manager --add-repo=http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
[root@localhost ~]#