您当前的位置:首页 > 电脑百科 > 数据库 > 百科

PMM:最佳的开源数据库监视解决方案

时间:2021-04-12 11:34:14  来源:今日头条  作者:木讷大叔爱运维

Percona Monitoring and Management是一个用于管理和监视MySQL、MongoDB、PostgreSQL和MariaDB性能的开源平台,我们可以在自己的环境中运行该插件,以实现最大的安全性和可靠性。它为数据库服务器提供了基于时间的全面分析,以确保您的数据尽可能高效地工作。

PMM可以说是同类最佳的开源数据库监视解决方案。它可以帮助您降低关键业务数据库环境的复杂性,优化性能并提高其安全性,无论它们位于何处或部署在何处。

C/S架构

PMM平台基于可扩展的客户端-服务器模型。 它包括以下模块:

  • PMM客户端安装在要监视的每个数据库主机上。 它收集服务器指标,常规系统指标和Query Analytics数据,以获取完整的性能概述。
  • PMM Server是PMM的核心部分,它聚合收集的数据并在Web界面中以表格,仪表板和图形的形式显示。
  • Percona平台为PMM提供增值服务。
PMM:最佳的开源数据库监视解决方案

 

1.PMM Client

PMM:最佳的开源数据库监视解决方案

 

每个PMM客户端收集有关常规系统和数据库性能的各种数据,并将该数据发送到相应的PMM服务器。

PMM客户端软件包包括以下内容:

  • pmm-admin是用于管理PMM客户端的命令行工具,例如,添加和删除要监视的数据库实例。
  • pmm-agent是客户端组件,是最小的命令行界面,它是带来客户端功能的中央入口点:它进行客户端的身份验证,将客户端配置存储在PMM服务器上,管理导出器和其他代理商。
  • node_exporter是一个Prometheus导出器,用于收集常规系统指标。
  • mysqld_exporter是Prometheus导出器,用于收集MySQL服务器指标。
  • mongodb_exporter是一个Prometheus导出器,用于收集MongoDB服务器指标。
  • postgres_exporter是Prometheus导出器,用于收集PostgreSQL性能指标。
  • proxysql_exporter是一个Prometheus导出器,用于收集ProxySQL性能指标。

为了确保从PMM客户端到PMM服务器的数据传输安全,所有导出器都可以使用SSL / TLS加密连接,并且它们与PMM服务器的通信受到HTTP基本身份验证的保护。

2.PMM Server

PMM:最佳的开源数据库监视解决方案

 

PMM服务器包括以下工具:
使用查询分析(QAN),您可以分析一段时间内的MySQL查询性能。除客户端QAN代理外,它还包括以下内容:

  • QAN API是用于存储和访问由PMM客户端上运行的QAN代理收集的查询数据的后端。
  • QAN Web App是用于可视化收集的查询分析数据的Web应用程序。

指标监视器提供了对MySQL或MongoDB服务器实例至关重要的指标的历史视图。它包括以下内容:

  • Prometheus是第三方时间序列数据库,它连接到在PMM客户端上运行的出口商,并汇总由出口商收集的指标。
  • ClickHouse是第三方的面向列的数据库,可促进Query Analytics功能。
  • Grafana是第三方仪表板和图形构建器,用于在直观的Web界面中可视化Prometheus聚合的数据。

我们可以从PMM Server Web界面(登录页面)访问所有工具。

部署

1.PMM Server

# 拉取镜像
Docker pull percona/pmm-server:2.9.1
# 建立持久化数据卷
docker create --volume /srv --name pmm-data percona/pmm-server:2.9.1 /bin/true
# 启动server
docker run --detach --restart always --publish 80:80 --publish 443:443 --volumes-from pmm-data --name pmm-server percona/pmm-server:2.9.1

2.PMM Client

(1)添加基础监控

# 1.安装client
# pmm-client 和 pmm-server版本一定要匹配,都为2 或 都为1。
# percona/pmm-server:latest 的版本为1.X
yum install https://repo.percona.com/yum/percona-release-latest.noarch.rpm
yum install pmm2-client

# 2.配置并连接server
# pmm-admin config --server-insecure-tls --server-url=https://admin:admin@192.168.3.101:443

Checking local pmm-agent status...
pmm-agent is running.
Registering pmm-agent on PMM Server...
Registered.
Configuration file /usr/local/percona/pmm2/config/pmm-agent.yaml updated.
Reloading pmm-agent configuration...
Configuration reloaded.
Checking local pmm-agent status...
pmm-agent is running.

# 3. 查看监控列表
# pmm-admin list
Service type  Service name         Address and port  Service ID

Agent type                  Status     Agent ID                                        Service ID
pmm_agent                   Connected  /agent_id/83d7c918-099f-4f62-aab8-c2024b0f1227  
node_exporter               Running    /agent_id/83e09526-d877-4019-a574-a8da90e6dcbc

pmm client 与server 建立连接后,默认使用node_exporter收集服务器CPU、Memory、Disk等基本状态信息。

通过Grafana展示如下:

PMM:最佳的开源数据库监视解决方案

 

此时是没有数据库监控信息的,我们需要再手动添加。

(2)添加mysql监控

# 1.添加监控账户
grant all on *.* to grafana@'%' identified by 'grafana';
# 2.添加mysql监控
pmm-admin add mysql --username=grafana --password=grafana  --query-source=perfschema --service-name=perfschema-mysql --host=127.0.0.1 --port=3306 --disable-tablestats-limit=50000
# 3.查看监控
# pmm-admin list
Service type  Service name         Address and port  Service ID
MySQL         perfschema-mysql     127.0.0.1:3306    /service_id/ea7032c2-1000-47b3-84e7-f2d41c58a065

Agent type                  Status     Agent ID                                        Service ID
pmm_agent                   Connected  /agent_id/83d7c918-099f-4f62-aab8-c2024b0f1227  
node_exporter               Running    /agent_id/83e09526-d877-4019-a574-a8da90e6dcbc  
mysqld_exporter             Running    /agent_id/cb95c179-58e7-46d1-a43e-76874df07889  /service_id/ea7032c2-1000-47b3-84e7-f2d41c58a065
mysql_perfschema_agent      Running    /agent_id/f920ffe3-2f79-4be9-ad65-93ef5fbe19a3  /service_id/ea7032c2-1000-47b3-84e7-f2d41c58a065

# 4. 删除监控
pmm-admin remove mysql perfschema-mysql

其他数据监控请自行添加。

图形化监控

1.Mysql实例状态监控

PMM:最佳的开源数据库监视解决方案

 

2. 查询分析

查询分析仪表板显示查询的执行方式以及花费时间。它可以帮助您分析一段时间内的数据库查询,优化数据库性能以及查找和纠正问题的根源。

PMM:最佳的开源数据库监视解决方案

 

查询分析仅支持MySQL和MongoDB。 MySQL的最低要求是:

  • MySQL 5.1或更高版本(如果使用慢查询日志)
  • MySQL 5.6.9或更高版本(如果使用性能架构)

查询分析数据的检索不是即时的,并且可能由于网络条件而延迟。 在这种情况下,不会报告任何数据,并且迷你图中会出现间隙。

总结

通过PMM我们可以更加直观的查看数据库服务器及各种数据库的状态,利用其Query Analytics特性可以更好的分析指定时间段的数据库查询,这对于优化数据库性能、查找问题十分有效。



Tags:数据库监视   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
Percona Monitoring and Management是一个用于管理和监视MySQL、MongoDB、PostgreSQL和MariaDB性能的开源平台,我们可以在自己的环境中运行该插件,以实现最大的安全性和可靠性...【详细内容】
2021-04-12  Tags: 数据库监视  点击:(163)  评论:(0)  加入收藏
▌简易百科推荐
1增1.1【插入单行】insert [into] <表名> (列名) values (列值)例:insert into Strdents (姓名,性别,出生日期) values (&#39;开心朋朋&#39;,&#39;男&#39;,&#39;1980/6/15&#3...【详细内容】
2021-12-27  快乐火车9d3    Tags:SQL   点击:(1)  评论:(0)  加入收藏
最近发现还有不少做开发的小伙伴,在写存储过程的时候,在参考已有的不同的写法时,往往很迷茫, 不知道各种写法孰优孰劣,该选用哪种写法,以及各种写法的优缺点,本文以一个简单的查询...【详细内容】
2021-12-23  linux上的码农    Tags:sql   点击:(9)  评论:(0)  加入收藏
《开源精选》是我们分享Github、Gitee等开源社区中优质项目的栏目,包括技术、学习、实用与各种有趣的内容。本期推荐的HasorDB 是一个全功能数据库访问工具,提供对象映射、丰...【详细内容】
2021-12-22  GitHub精选    Tags:HasorDB   点击:(5)  评论:(0)  加入收藏
作者丨Rafal Grzegorczyk译者丨陈骏策划丨孙淑娟【51CTO.com原创稿件】您是否还在手动对数据库执行各种脚本?您是否还在浪费时间去验证数据库脚本的正确性?您是否还需要将...【详细内容】
2021-12-22    51CTO  Tags:Liquibase   点击:(3)  评论:(0)  加入收藏
场景描述:由于生产环境的表比较复杂,字段很多。这里我们做下简化,只为说明今天要聊的问题。有两张表 tab1,tab2: tab1 数据如下: tab2 数据如下: 然后给你看下,我用来统计 name=&#3...【详细内容】
2021-12-20  Bald    Tags:SQL   点击:(5)  评论:(0)  加入收藏
前言知识无底,学海无涯,知识点虽然简单,但是比较多,所以将MySQL的基础写出来,方便自己以后查找,还有就是分享给大家。一、SQL简述1.SQL的概述Structure Query Language(结构化查...【详细内容】
2021-12-16  谣言止于独立思考    Tags:SQL基础   点击:(13)  评论:(0)  加入收藏
前言作为一名测试工程师,工作中在对测试结果进行数据比对的时候,或多或少要和数据库打交道的,要和数据库打交道,那么一些常用的 SQL 查询语法必须要掌握。最近有部分做测试小伙...【详细内容】
2021-12-14  柠檬班软件测试    Tags:SQL   点击:(15)  评论:(0)  加入收藏
话说C是面向内存的编程语言。数据要能存得进去,取得出来,且要考虑效率。不管是顺序存储还是链式存储,其寻址方式总是很重要。顺序存储是连续存储。同质结构的数组通过其索引表...【详细内容】
2021-12-08  小智雅汇    Tags:数据存储   点击:(17)  评论:(0)  加入收藏
概述DBConvert Studio 是一款强大的跨数据库迁移和同步软件,可在不同数据库格式之间转换数据库结构和数据。它将成熟、稳定、久经考验的 DBConvert 和 DBSync 核心与改进的现...【详细内容】
2021-11-17  雪竹聊运维    Tags:数据库   点击:(26)  评论:(0)  加入收藏
一、前言 大家好,我是小诚,《从0到1-全面深刻理解MySQL系列》已经来到第四章,这一章节的主要从一条SQL执行的开始,由浅入深的解析SQL语句由客户端到服务器的完整执行流程,最...【详细内容】
2021-11-09  woaker    Tags:SQL   点击:(35)  评论:(0)  加入收藏
相关文章
    无相关信息
最新更新
栏目热门
栏目头条