PMM2 MySQL监控管理工具

server/2024/9/20 13:38:51/ 标签: 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 配置客户端

mysql%E7%9B%91%E6%8E%A7%E6%9C%8D%E5%8A%A1-toc" style="margin-left:0px;">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

mysql%E7%9B%91%E6%8E%A7%E6%9C%8D%E5%8A%A1">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.ppmy.cn/server/13818.html

相关文章

2024五一萌趣嘉年华主题展活动策划案

2024五一国宝大作战 萌趣嘉年华熊猫滚滚来野主题展活动策划案-53P 活动策划信息&#xff1a; 方案页码&#xff1a;53页 文件格式&#xff1a;PPT 方案简介&#xff1a; 活动思路&#xff1a; 五一马上就要到了~再加上全民关注的对象--大熊猫&#xff01;&#xff01; 这…

LLaMA Factory单机微调的实战教程

大家好,我是herosunly。985院校硕士毕业,现担任算法研究员一职,热衷于机器学习算法研究与应用。曾获得阿里云天池比赛第一名,CCF比赛第二名,科大讯飞比赛第三名。拥有多项发明专利。对机器学习和深度学习拥有自己独到的见解。曾经辅导过若干个非计算机专业的学生进入到算法…

【漏洞复现】WordPress_Wholesale_Market admin-ajax.php 任意文件读取漏洞

0x01 产品简介 WordPress Wholesale Market是一个WordPress主题,专门设计用于创建批发市场和在线商城网站。该主题提供了许多功能和设计元素,使您能够轻松地构建一个功能强大的批发市场平台,以满足批发商和零售商的需求。 0x02 漏洞概述 WordPress Wholesale Market存在任…

API接口的用途以及接入示例

API接口的主要用途是允许不同的软件系统之间进行通信和数据交换。具体来说&#xff0c;API接口可以用于以下几个方面&#xff1a; 数据传输和交换&#xff1a;API接口可以用于不同系统之间的数据传输和交换&#xff0c;例如将数据从一个系统传递到另一个系统&#xff0c;或者从…

云南旅游攻略

丽江景点 Day1 ——丽江古城 丽江古城是一个充满文化和历史的地方&#xff0c;拥有丰富的景点和活动。 推荐游玩&#xff1a; 参观标志性建筑&#xff1a;大水车是丽江古城的标志性建筑&#xff0c;可以在这里拍照留念。 探索中心广场&#xff1a;四方街是古城的中心&#xf…

The_Maya_Society

突然发现自己做了一些逆向题都没有写笔记 今天&#xff0c;发现这道题有意思 1.解压文件 三个文件The Maya Society.html&#xff0c;maim.cc,maya.png 当时我看到这个题的时候&#xff0c;我以为是不是会是js逆向 看来是我蠢了 这三个文件&#xff0c;main.css和maya.png这两…

Linux 深入理解Linux文件系统与日志分析

在Linux系统中&#xff0c;文件名和文件数据是分开存储的 文件数据包含 元信息(即不包含文件名的文件属性) 和 实际数据 文件元信息存储在 inode(索引节点)里&#xff0c; 文件实际数据存储在 block(块)里; 文件名存储在目录块里 查看文件的元信息 stat 文件名 [ro…

第27天:安全开发-PHP应用TP框架路由访问对象操作内置过滤绕过核心漏洞

第二十七天 一、TP框架-开发-路由访问&数据库&文件上传&MVC模型 1.TP框架-开发-配置架构&路由&MVC模型 参考&#xff1a;https://www.kancloud.cn/manual/thinkphp5_1 配置架构-导入使用路由访问-URL访问数据库操作-应用对象文件上传操作-应用对象前端页…

使用JDK自带工具进行JVM内存分析之旅

进行jvm内存分析可以排查存在和潜在的问题。 通过借助jdk自带的常用工具&#xff0c;可以分析大概可能的问题定位以及确定优化方向。 JVM内存分析有很多好处。 内存泄漏排查&#xff1a;JVM 内存泄漏是指应用程序中的对象占用的内存无法被垃圾回收器释放&#xff0c;导致内存…

Vue【路由】

1&#xff1a;什么是单页应用程序&#xff08;single page application&#xff09; 所有得功能在一个html页面上实现 2&#xff1a;单页面应用程序的优缺点 优点&#xff1a;按需更新性能高&#xff0c;开发效率也高&#xff0c;用户的体验较好 缺点&#xff1a;学习成本高…

拿捏 顺序表(1)

目录 1. 顺序表的分类2. 顺序表实现3. 顺序表实现完整代码4. 总结 前言: 一天xxx想存储一组数据, 并且能够轻松的实现删除和增加, 此时数组大胆站出, 但是每次都需要遍历一遍数组, 来确定已经存储的元素个数, 太麻烦了, 于是迎来了顺序表不屑的调侃: 数组你不行啊… 顺序表是一…

echarts bar图表实现多个label显示

2024.0.23今天我学习了使用bar组件&#xff0c;可以渲染多个label显示的效果&#xff0c;如&#xff1a; 当我们有一个这样的图表时&#xff0c;根据需求需要在 这上面的顶部再显示一个空置床位数占用床位数的合计总值&#xff0c;如果直接添加一个label肯定是不行&#xff0c;…

Ubuntu终端自动补全

文章目录 前言配置安装zsh安装 oh-my-zsh安装自动补全插件zsh-autosuggestions 参考 前言 Oh My Zsh 是一个针对命令行 shell 的开源框架&#xff0c;主要用于增强和美化命令行环境。它建立在 Zsh&#xff08;一种强大的 shell 替代品&#xff09;之上&#xff0c;提供了丰富的…

互连芯片浪潮席卷AI服务器:突破瓶颈,再创辉煌

改变AI服务器&#xff1a;互连芯片技术创新和突破 AI服务器崛起&#xff0c;引领未来创新根据TrendForce数据&#xff0c;AI服务器出货量达130,000台&#xff0c;占服务器总出货量的1%。主要制造商推出生成式AI产品&#xff0c;推动订单激增。ChatGPT等应用的需求持续增长&…

定制自己的 AI 角色CustomChar;AI知识点和面试题;提高llama 3 的微调速度Unsloth

✨ 1: CustomChar 允许你创建和定制自己的 AI 角色 CustomChar 是一个开源项目&#xff0c;它允许你创建和定制自己的 AI 角色。无论是游戏中的角色&#xff0c;还是个人的虚拟助手&#xff08;比如电脑上的 JARVIS&#xff09;&#xff0c;甚至是在线教育体验中的虚拟朋友或…

huggingface模型下载至本地并调用教程

huggingface内有许多预训练模型&#xff0c;可以在线调用模型或者将模型部署至本地&#xff0c;但有时候通过网址调用模型会很慢&#xff0c;有些服务器甚至无法通过网址调用… 那么&#xff0c;正题&#xff0c;如何将huggingface的模型部署至本地呢&#xff1f;其实很简单&am…

【归并】Leetcode 排序数组

题目讲解 912. 排序数组 算法讲解 使用归并算法排序数组&#xff0c;我们先在数组中寻找一个mid点&#xff0c;然后把数组分成了两部分&#xff0c;我们先排左部分&#xff0c;排左边部分的时候有需要将当前的子数组分成两部分&#xff0c;继续循环&#xff0c;直到当前子数组…

lock_icon_container LockIconContainer的显示

LockIconContainer 是直接在super_notification_shade.xml 里面的&#xff1a; lock_icon_container <?xml version"1.0" encoding"utf-8"?> <!-- This is the notification shade window. --> <com.android.systemui.statusbar.phone.…

llama-factory SFT 系列教程 (四),lora sft 微调后,使用vllm加速推理

文章目录 文章列表&#xff1a;背景简介llama-factory vllm API 部署融合 lora 模型权重 vllm API 部署HuggingFace API 部署推理API 部署总结 vllm 不使用 API 部署&#xff0c;直接推理数据集 tenplatevllm 代码部署 文章列表&#xff1a; llama-factory SFT系列教程 (一)&a…

川宁生物抢抓机遇,力争成为合成生物制造领域的头部企业

近年来&#xff0c;合成生物制造已成为新时期我国经济高质量发展的战略新兴产业之一&#xff0c;合成生物制造业的未来一片光明。川宁生物敏锐抓住此次机遇&#xff0c;以上海研究院为创新驱动的桥头堡&#xff0c;打造合成生物学CDMO产业平台&#xff0c;使公司成长为具有全球…