PMM2 MySQL监控管理工具

目录

1. PMM介绍

2. 安装PMM服务端

2.1 安装docker

2.1.1 下载docker

2.1.2 上传docker包

2.1.3 启动守护进程

2.1.4 查看docker状态

2.2 安装PMM

2.2.1 下载镜像

2.2.2 load镜像

2.2.3 查看镜像

2.2.4 创建容器

2.2.5 运行镜像

2.2.6 验证PMM服务器

2.2.7 删除PMM服务

3. 安装PMM客户端 

3.1 下载客户端

 3.2 上传解压

3.3 配置环境变量

3.4 安装客户端

3.5 配置客户端

4. 添加mysql监控服务

4.1 创建用户

4.2 选择和配置数据源

4.2.1 Slow query log数据源配置(预备工作)

4.2.2 Performance Schema数据源配置(预备工作)

4.2.3 Query response time配置

4.2.4 User statistics配置

4.3 添加MySQL Service

4.3.1 添加Slow query log

4.3.2 添加Performance Schema

4.3.3 图形界面添加服务

 4.3.4 查看服务

4.3.5 删除服务

4.3.6 从PMM服务注销PMM客户端

5. 官网命令手册

6. 界面清单

7. 界面仪表盘管理

8. 告警管理

9. PMM架构 


1. PMM介绍

Percona Monitoring and Management (PMM)是一个针对MySQL、PostgreSQL和MongoDB的开源数据库监控、管理和可视化解决方案的工具,分为服务端和客户端。

  • PMM有多种安装方式,我以docker方式安装
  • PMM客户端安装在你需要监控的主机里

2. 安装PMM服务端

官方文档安装

Docker - Percona Monitoring and Management

2.1 安装docker

2.1.1 下载docker

https://download.docker.com/linux/static/stable/x86_64/

2.1.2 上传docker包

手动下载tar包后上传到Linux主机, 并将解压出来的docker文件内容移动到 /usr/bin/ 目录下

[root@localhost soft]# tar -zxvf docker-20.10.6.tgz
[root@localhost soft]# cp docker/* /usr/bin

2.1.3 启动守护进程

[root@localhost soft]# dockerd &

2.1.4 查看docker状态

查看是否成功,看到下面结果说明docker启动成功

[root@localhost soft]# docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

 

2.2 安装PMM

2.2.1 下载镜像

PMM服务端docker镜像下载地址

https://www.percona.com/downloads

2.2.2 load镜像

也可以不下载镜像,直接pull镜像,会从网上下载(docker pull percona/pmm-server:2.41.1)

[root@localhost soft]# docker load < pmm-server-2.41.1.docker
c83f386e1dda: Loading layer [==================================================>]  114.2MB/114.2MB
c3536f8fe5be: Loading layer [==================================================>]  2.254GB/2.254GB
Loaded image: percona/pmm-server:2.41.1

2.2.3 查看镜像

[root@localhost soft]# docker images
REPOSITORY           TAG       IMAGE ID       CREATED        SIZE
percona/pmm-server   2.41.1    a71c917d72f2   2 months ago   2.34GB

2.2.4 创建容器

[root@localhost bin]# docker create --volume /srv \
> --name pmm-data percona/pmm-server:2.41.1 /bin/true

2.2.5 运行镜像

[root@localhost bin]# docker run --detach --restart always \
> --publish 443:443 \
> --volumes-from pmm-data --name pmm-server \
> percona/pmm-server:2.41.1

2.2.6 验证PMM服务器

运行PMM Server之后,可以使用运行容器的主机的IP地址访问PMM Web界面,服务器ip:443 即可打开服务端webui,访问默认用户密码:admin / admin,第一次进去提示修改密码

2.2.7 删除PMM服务

#停止pmm-server容器
docker stop pmm-server
#删除容器
docker rm pmm-server pmm-data
#删除镜像
docker rmi $(docker images | grep "percona/pmm-server" | awk {'print $3'})

3. 安装PMM客户端 

官方文档安装客户端

Set up PMM Client - Percona Monitoring and Management 

3.1 下载客户端

我下载的是二进制文件,下面是下载地址,选择版本号和linux generic

https://www.percona.com/downloads

 3.2 上传解压

[root@localhost soft]# tar -zxvf pmm2-client-2.41.1.tar.gz

3.3 配置环境变量

[root@localhost local]# mkdir -p /usr/local/percona/pmm2#添加$PMM_DIR/bin至环境变量配置文件
[root@localhost local]# vi ~/.bash_profile
export PMM_DIR=/usr/local/percona/pmm2
PATH=$PATH:$HOME/bin:/usr/local/mysql/bin:/usr/local/mysql/percona-toolkit-3.3.1/bin:$PMM_DIR/bin
[root@localhost local]# source ~/.bash_profile

3.4 安装客户端

[root@localhost local]# cd /soft/pmm2-client-2.41.1
[root@localhost pmm2-client-2.41.1]# ./install_tarball
Installing into /usr/local/percona/pmm2...

3.5 配置客户端

[root@localhost config]# pmm-agent setup --config-file=/usr/local/percona/pmm2/config/pmm-agent.yaml --server-address=192.168.26.101 --server-insecure-tls --server-username=admin --server-password=123456
[root@localhost config]# pmm-agent --config-file=${PMM_DIR}/config/pmm-agent.yaml

注册

pmm-admin config --server-insecure-tls --server-url=https://admin:123456@192.168.26.101:443

查看状态

[root@localhost ~]# pmm-admin status
Agent ID : /agent_id/cd9ebf97-a1c0-4386-8f97-1adb346efba5
Node ID  : /node_id/0309f2f0-d1e7-451e-9798-31964bfb9126
Node name: localhost.localdomainPMM Server:URL    : https://192.168.26.101:443/Version: 2.41.1PMM Client:Connected        : trueTime drift       : 78.014µsLatency          : 426.998µsConnection uptime: 100pmm-admin version: 2.41.1pmm-agent version: 2.41.1
Agents:/agent_id/c61a3f9a-dab0-4806-af39-68403b73d25b node_exporter Running 42000/agent_id/d8e6f253-dd81-40c6-8ae3-91fd55f85a40 vmagent Running 42001

4. 添加mysql监控服务

4.1 创建用户

(root@localhost) [(none)]> CREATE USER 'pmm'@'%' IDENTIFIED BY 'pass' WITH MAX_USER_CONNECTIONS 10;
(root@localhost) [(none)]> GRANT SELECT, PROCESS, REPLICATION CLIENT, RELOAD ON *.* TO 'pmm'@'localhost';

4.2 选择和配置数据源

4.2.1 Slow query log数据源配置(预备工作)

/etc/my.cnf添加如下

[mysqld]
slow_query_log=1
log_output=FILE
long_query_time=2
log_slow_admin_statements=ON
log_slow_slave_statements=ON

或者session配置

SET GLOBAL slow_query_log = 1;
SET GLOBAL log_output = 'FILE';
SET GLOBAL long_query_time = 2;
SET GLOBAL log_slow_admin_statements = 1;
SET GLOBAL log_slow_slave_statements = 1;

 percona mysql额外添加的配置参数

log_slow_rate_limit=100
log_slow_rate_type='query'
slow_query_log_always_write_time=1
log_slow_verbosity='full'
slow_query_log_use_global_control='all'

或者session配置

SET GLOBAL log_slow_rate_limit = 100;
SET GLOBAL log_slow_rate_type = 'query';
SET GLOBAL slow_query_log_always_write_time = 1;
SET GLOBAL log_slow_verbosity = 'full';
SET GLOBAL slow_query_log_use_global_control = 'all';

4.2.2 Performance Schema数据源配置(预备工作)

/etc/my.cnf添加如下参数

[mysqld]
performance_schema=ON
performance-schema-instrument='statement/%=ON'
performance-schema-consumer-statements-digest=ON
innodb_monitor_enable=all

或者session配置

UPDATE performance_schema.setup_consumers
SET ENABLED = 'YES' WHERE NAME LIKE '%statements%';
SET GLOBAL innodb_monitor_enable = all;

4.2.3 Query response time配置

/etc/my.cnf添加如下

[mysqld]
query_response_time_stats=ON

安装插件

INSTALL PLUGIN QUERY_RESPONSE_TIME_AUDIT SONAME 'query_response_time.so';
INSTALL PLUGIN QUERY_RESPONSE_TIME SONAME 'query_response_time.so';
INSTALL PLUGIN QUERY_RESPONSE_TIME_READ SONAME 'query_response_time.so';
INSTALL PLUGIN QUERY_RESPONSE_TIME_WRITE SONAME 'query_response_time.so';
SET GLOBAL query_response_time_stats = ON;

4.2.4 User statistics配置

/etc/my.cnf添加如下

[mysqld]
userstat=ON

或者session配置

SET GLOBAL userstat = ON;

4.3 添加MySQL Service

4.3.1 添加Slow query log

MYSQL_SERVICE是自己取的服务名字

[root@localhost ~]# pmm-admin add mysql --query-source=slowlog --size-slow-logs=1GiB --username=pmm --password=pass MYSQL_SERVICE 192.168.26.101:3306
MySQL Service added.
Service ID  : /service_id/31afdb31-42ff-4b81-85f5-97d6ae222e86
Service name: MYSQL_SERVICETable statistics collection enabled (the limit is 1000, the actual table count is 338).
#或者
[root@localhost ~]# pmm-admin add mysql --query-source=slowlog --size-slow-logs=1GiB --username=pmm --password=pass --service-name=MYSQL_SERVICE --host=192.168.26.101 --port=3306

4.3.2 添加Performance Schema

MYSQL_PERFSCHEMA是自己取服务名字

[root@localhost ~]# pmm-admin add mysql --query-source=perfschema --username=pmm --password=pass MYSQL_PERFSCHEMA 192.168.26.101:3306
MySQL Service added.
Service ID  : /service_id/cd3acc69-2372-4fa3-9cd4-455cb605344a
Service name: MYSQL_PERFSCHEMATable statistics collection enabled (the limit is 1000, the actual table count is 338).
#或者
[root@localhost ~]# pmm-admin add mysql --query-source=perfschema --username=pmm --password=pass --service-name=MYSQL_PERFSCHEMA  --host=192.168.26.101 --port=3306

4.3.3 图形界面添加服务

 4.3.4 查看服务

[root@localhost ~]# pmm-admin list
Service type        Service name            Address and port           Service ID
MySQL               MYSQL_PERFSCHEMA        192.168.26.101:3306        /service_id/cd3acc69-2372-4fa3-9cd4-455cb605344a
MySQL               MYSQL_SERVICE           192.168.26.101:3306        /service_id/e1b0dfc3-e1de-4108-94de-3e894f637199Agent type                    Status           Metrics Mode        Agent ID                                              Service ID                                              Port
pmm_agent                     Connected                            /agent_id/cd9ebf97-a1c0-4386-8f97-1adb346efba5                                                                0 
node_exporter                 Running          push                /agent_id/c61a3f9a-dab0-4806-af39-68403b73d25b                                                                42000 
mysqld_exporter               Running          push                /agent_id/8506e3b2-a7bf-44fb-99ae-aebb85ab92a9        /service_id/cd3acc69-2372-4fa3-9cd4-455cb605344a        42011 
mysqld_exporter               Running          push                /agent_id/f118f570-e506-4568-a9fc-2ec886b2a3b9        /service_id/e1b0dfc3-e1de-4108-94de-3e894f637199        42010 
mysql_perfschema_agent        Running                              /agent_id/a5d784f0-cd1f-406a-ba39-9cb9082d756e        /service_id/cd3acc69-2372-4fa3-9cd4-455cb605344a        0 
mysql_slowlog_agent           Running                              /agent_id/83a30217-8175-4065-bf8f-d5c2ba58574e        /service_id/e1b0dfc3-e1de-4108-94de-3e894f637199        0 
vmagent                       Running          push                /agent_id/d8e6f253-dd81-40c6-8ae3-91fd55f85a40                                                                42001

或者

[root@localhost ~]# pmm-admin inventory list services
Services list.Service type           Service name         Address and Port  Service ID
MySQL                  MYSQL_PERFSCHEMA     192.168.26.101:3306 /service_id/cd3acc69-2372-4fa3-9cd4-455cb605344a
MySQL                  MYSQL_SERVICE        192.168.26.101:3306 /service_id/e1b0dfc3-e1de-4108-94de-3e894f637199
PostgreSQL             pmm-server-postgresql 127.0.0.1:5432    /service_id/fcec30c3-7d0c-46b7-bd45-511407ea544d

4.3.5 删除服务

pmm-admin remove <service-type> <service-name>

[root@localhost ~]# pmm-admin remove mysql MYSQL_PERFSCHEMA
Service removed.
[root@localhost ~]# pmm-admin remove mysql MYSQL_SERVICE
Service removed.

4.3.6 从PMM服务注销PMM客户端

pmm-admin unregister --force

5. 官网命令手册

Commands - Percona Monitoring and Management

6. 界面清单

 PMM Inventory - Percona Monitoring and Management

7. 界面仪表盘管理

 Manage dashboards - Percona Monitoring and Management

8. 告警管理

 Percona Alerting - Percona Monitoring and Management

9. PMM架构 

Architecture - Percona Monitoring and Management 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/825352.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

外包干了16天,技术倒退明显

先说情况&#xff0c;大专毕业&#xff0c;18年通过校招进入湖南某软件公司&#xff0c;干了接近6年的功能测试&#xff0c;今年年初&#xff0c;感觉自己不能够在这样下去了&#xff0c;长时间呆在一个舒适的环境会让一个人堕落&#xff01; 而我已经在一个企业干了四年的功能…

【剪映专业版】09定格、倒放、镜像、旋转、裁剪

视频课程&#xff1a;B站有知公开课【剪映电脑版教程】 分别为定格、倒放、镜像、旋转、裁剪 定格 时间指示器移动到需要定格的地方&#xff0c;点击定格&#xff0c;自动生成一张图片&#xff0c;时长为3秒。 定格出来的画面&#xff0c;可以任意调整长短时间。 如果需要导…

MySQL高级(性能分析-查看执行频次、慢查询日志)

目录 1、SQL性能分析 1.1、SQL执行频率 1.2、慢查询日志 1、SQL性能分析 1.1、SQL执行频率 MySQL 客户端连接成功后&#xff0c;通过 show [ session | global ] status 命令可以提供服务器状态信息。通过如下指令&#xff0c;可以查看当前数据库的 insert、update、delete、…

使用vite从头搭建一个vue3项目(四)使用axios封装request.js文件,并使用proxy解决跨域问题

目录 一、创建request.js文件二、创建axios实例三、创建请求、响应拦截器四、使用 request.js&#xff0c;测试接口&#xff1a;https://api.uomg.com/api/rand.qinghua1、调取接口代码书写2、注意&#xff08;跨域问题&#xff09; axios 的二次封装有三个要点&#xff1a; 创…

【智能算法】霸王龙优化算法(TROA)原理及实现

目录 1.背景2.算法原理2.1算法思想2.2算法过程 3.结果展示4.参考文献 1.背景 2023年&#xff0c;VSDM Sahu等人受到霸王龙狩猎行为启发&#xff0c;提出了霸王龙优化算法&#xff08;Tyrannosaurus Optimization Algorithm, TROA&#xff09;。 2.算法原理 2.1算法思想 TR…

【系统分析师】系统规划

文章目录 1、项目的机会选择2、可行性分析3、成本效益分析3.1 基本概念3.2 盈亏临界分析3.3 净现值分析3.4 投资回收期 截图&#xff1a;希赛讲义 视频&#xff1a;B站 系统规划对应的是 立项 阶段 1、项目的机会选择 2、可行性分析 3、成本效益分析 3.1 基本概念 例题 3.2 盈…

边缘计算智能分析网关V4地面垃圾AI检测算法介绍及场景应用

在传统的卫生监管场景中&#xff0c;无法及时发现地面遗留的垃圾&#xff0c;通过人工巡逻的方式需要大量的人力、物力和时间&#xff0c;而且效率不高&#xff0c;并存在一定的滞后性&#xff0c;而采用地面垃圾AI检测算法则可以大大提高监管效率。 TSINGSEE青犀AI智能分析网…

windows10安装Tensorflow-gpu 2.10.0

windows10安装Tensorflow-gpu 2.10.0 本文主要目的是 从0开始演示 在windows10 平台安装Tensorflow-gpu 2.10.0。 Tensorflow-gpu 2.10.0 之后的版本&#xff0c;不再支持这样的安装方式&#xff0c;如果有需要&#xff0c;请参考wsl安装ubuntu的方式&#xff0c;进行安装。 …

短视频矩阵源头====技术文档交付

短视频矩阵源头技术文档交付 搭建短视频矩阵系统源码需要以下步骤&#xff1a; 1. 确定系统需求和功能&#xff1a;明确系统需要支持哪些功能&#xff0c;例如短视频的上传、存储、播放、分享、评论、点赞等。 2. 选择合适的编程语言和框架&#xff1a;根据需求选择合适的编程…

存储人视角:人工智能AI + 大模型

原文来自于知乎存储专栏&#xff1a; 存储人视角&#xff1a;人工智能AI 大模型 前沿 我的角色 背景 AI 出场 效果 一个宠娃狂魔 娃喜爱并有奥特曼玩具 她的奥特曼玩具会跳舞了 娃对我的崇拜和爱又多了一分......amazing 杭州网商路艾弗森 球队需要制作LOGO 形象生动…

【办公软件word小技巧】如何一键提取word中的图片 几十张 几百张均可一键提取

在日常生活和工作中&#xff0c;我们经常会遇到需要从Word文档中提取图片的情况。无论是为了单独保存这些图片&#xff0c;还是为了在其他地方使用它们&#xff0c;一键提取Word中的图片都是一个非常实用的技能。提取Word文件中的图片并不是一件复杂的事情&#xff0c;只要掌握…

照片jpg格式小于50kb怎么弄?jpg压缩到指定大小

我们经常需要处理大量的图片&#xff0c;特别是在分享到社交媒体时&#xff0c;然而&#xff0c;图片文件的大小常常成为困扰我们的问题&#xff0c;尤其是当我们的设备存储空间有限时。有些平台甚至会需要将图片压缩到50kb大小&#xff0c;那么&#xff0c;如何有效地压缩图片…

WAF攻防-权限控制代码免杀异或运算变量覆盖混淆加密传参

知识点 1、脚本后门基础&原理 2、脚本后门查杀绕过机制 3、权限维持-覆盖&传参&加密&异或等 章节点&#xff1a; WAF绕过主要集中在信息收集&#xff0c;漏洞发现&#xff0c;漏洞利用&#xff0c;权限控制四个阶段。 代码表面层免杀-ASP&PHP&JSP&a…

电商数据接口开发|淘宝商品接口|天猫商品接口|京东商品接口|拼多多商品接口|API接口申请指南

电商数据接口开发涉及到多个电商平台&#xff0c;包括淘宝、天猫、京东和拼多多等。这些平台都提供了丰富的API接口&#xff0c;以便开发者能够获取商品信息、订单数据等&#xff0c;从而构建出各种电商应用和服务。 1.请求方式&#xff1a;HTTP POST GET &#xff08;复制薇&…

Python经典游戏:乒乓球对战(单人+双人模式)

Python108款&#xff0c;小游戏集合&#xff0c;总有一个是你想要的 中国象棋 像素鸟 五子棋 24点小游戏 贪吃蛇 扫雷 俄罗斯方块 魂斗罗 消消乐 坦克大战 外星人入侵 汤姆猫 斗地主 乒乓球 推箱子 植物大战僵尸 围棋 超级玛丽 飞机大战 迷宫 滑雪 吃豆人…等等 &#xff0…

基于springboot实现信息化在线教学平台设计【项目源码+论文说明】计算机毕业设计

基于springboot实现信息化在线教学平台设计演示 摘要 随着信息技术在管理上越来越深入而广泛的应用&#xff0c;管理信息系统的实施在技术上已逐步成熟。本文介绍了信息化在线教学平台的开发全过程。通过分析信息化在线教学平台管理的不足&#xff0c;创建了一个计算机管理信息…

【OpenGL开发】PyQt在关闭应用程序时没有运行析构函数的问题

PyQt在关闭应用程序时没有运行析构函数的问题 目录 一、说明二、python的析构函数三、通用版QT5 存在一些问题四、python版PyQt5 存在一些问题五、OpenGL的析构问题5.1 OpenGL很脆弱,这不是危言耸听5.2 以上OpenGL问题解决方法六、一些保留意见一、说明 应用QT做程序界面,在…

电视盒子哪个牌子好?博主总结网络电视盒子推荐

电视盒子是我们使用最多的产品&#xff0c;追剧、游戏、上网课都离不开电视盒子&#xff0c;但很多朋友不知道电视盒子哪个牌子好&#xff0c;我这周共计测评了18款不同品牌的电视盒子&#xff0c;今天整理了五款网络电视盒子推荐&#xff0c;想买电视盒子可以看看下面这些。 第…

vscode 配置go环境

https://www.zhihu.com/question/486786946/answer/2723663432 注意一定要安装最新版,否则不容易debug //main.go package main //说明hello.go这个文件在main这个包中import "fmt" //导入内置包&#xff0c;可以使用其中函数等func main() {fmt.Println("Hello…

java 红黑树

01.红黑树的定义&#xff1a; 每一个结点有五个属性&#xff1a;