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.localdomain

PMM Server:
	URL    : https://192.168.26.101:443/
	Version: 2.41.1

PMM Client:
	Connected        : true
	Time drift       : 78.014µs
	Latency          : 426.998µs
	Connection uptime: 100
	pmm-admin version: 2.41.1
	pmm-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_SERVICE

Table 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_PERFSCHEMA

Table 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-3e894f637199

Agent 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 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

MySQL行格式(row format)

MySQL行格式&#xff08;row format&#xff09; 表的行格式决定了其行的物理存储方式&#xff0c;这反过来又会影响查询和 DML 操作的性能。随着单个磁盘页面容纳更多行&#xff0c;查询和索引查找可以更快地工作&#xff0c;缓冲池中需要的高速缓存内存更少&#xff0c;写出…

【进阶六】Python实现SDVRPTW常见求解算法——离散粒子群算法(DPSO)

基于python语言&#xff0c;采用经典离散粒子群算法&#xff08;DPSO&#xff09;对 带硬时间窗的需求拆分车辆路径规划问题&#xff08;SDVRPTW&#xff09; 进行求解。 目录 往期优质资源1. 适用场景2. 代码调整2.1 需求拆分2.2 需求拆分后的服务时长取值问题 3. 求解结果4. …

.netcore+vue新生分班系统的设计与实现

.netcore vue新生分班系统的设计与实现说明文档 运行前附加数据库.mdf&#xff08;或sql生成数据库&#xff09; 主要技术&#xff1a; 基于.net core架构和mysql数据库vue 东北石油大学新生分班系统的设计与实现 功能模块&#xff1a; 登录 注册学生 忘记密码 系统首顶 个…

fatal error C1001: An internal error has occurred in the compiler

VS2008驱动项目A&#xff0c;集成一个Wzarid生成的驱动LIB项目B&#xff0c;在编译64位驱动时,出现以下错误&#xff1a; 1>------ Build started: Project: xxxx, Configuration: Release x64 ------ 1>Linking... 1>fatal error C1001: An internal error has occu…

AI时代下,普通人能怎么做?

AI玩法千千万&#xff0c;你已经知道了多少呢&#xff1f;是否已经实践起来&#xff1f; 大家好&#xff0c;我是程序员影子 | 全网同名 一名致力于帮助更多朋友快速入门编程的程序猿 今天&#xff0c;我将以小白入门的视角带着大家了解一下目前火热的AI实践玩法&#xff1b…

SQL --索引

索引 INDEX 伪列 伪装起来的列&#xff0c;不容易被看见&#xff0c;要特意查询才能看见 ROWNUM&#xff1a; 是对查询结果自动生成的一组连续的自然数序号。 SELECT emp.*,ROWNUM FROM emp例题&#xff1a;查询emp表中&#xff0c;前三个员工 SELECT * FROM * from emp w…

工业控制(ICS)---MMS

MMS 工控领域的TCP协议&#xff0c;有时wireshark会将response包解析为tcp协议&#xff0c;影响做题&#xff0c;如果筛选mms时出现连续request包&#xff0c;考虑wireshark解析错误&#xff0c;将筛选条件删除手动看一下 initiate&#xff08;可以理解为握手&#xff09; i…

QQ浏览器模仿Arc,推垂直工作栏引领新体验潮流|TodayAI

之前在硅谷大受欢迎的AI浏览器Arc一经推出就立即引起了广泛关注&#xff0c;Arc自称不仅仅是一款浏览器&#xff0c;而且还是一个“与互联网同规模的平台”。如今&#xff0c;中国的QQ浏览器也想借Arc的热潮之势&#xff0c;同样采用了类似Arc的垂直工作栏&#xff0c;声称能够…

【总结】jdk安装配置后,执行报错java: error while loading shared libraries: libjli.so

目录 问题现象排查分析解决方法 问题现象 安装jdk后&#xff0c;配置好了环境变量&#xff0c;但执行java -vesion命令时&#xff0c;报错。 java: error while loading shared libraries: libjli.so: cannot open shared object file: No such file or directory 看起来这个…

就业分析丨云计算数通双认证学员,入职海外年薪50W

扫码联系誉天猎头部&#xff0c;可享高薪岗位内推、职业规划岗前测评等服务 誉天&#xff0c;我的职业启航之地 大家好&#xff0c;我是誉天学员万*,回想起那段为梦想而奋斗的日子&#xff0c;我的心中充满了感慨。誉天在行业内一直深受好评&#xff0c;在我心中播下了技能的种…

14.多态(多态的构成条件、虚函数的重写、抽象类也就是纯虚函数的类、虚函数表、单继承和多继承的虚函数表)

1.多态的概念 ​ 多态的概念&#xff1a;通俗来说&#xff0c;就是多种形态&#xff0c;具体点就是去完成某个行为&#xff0c;当不同的对象去完成时会产生出不同的状态。 举个例子&#xff1a;比如买票这个行为&#xff0c;当普通人买票时&#xff0c;是全价买票&#xff1b;…

java动态代理--JDK代理

1.概述 JDK动态代理&#xff1a;只能代理实现了接口的类&#xff0c;代理对象是实现了目标对象所有接口的代理类 使用java.lang.reflect.Proxy类和java.lang.reflect.InvocationHandler接口来创建代理对象&#xff0c;工作通过反射机制完成。 2.实现接口InvocationHandler …

目标检测——防护装备数据集

一、重要性及意义 防护装备中的头盔和背心检测具有至关重要的重要性和深远的意义&#xff0c;主要体现在以下几个方面&#xff1a; 首先&#xff0c;它们对于保护工作人员的人身安全起着至关重要的作用。在各类工作环境中&#xff0c;尤其是那些涉及高空作业、机械操作或交通…

windows10 VS2017 grpc1.48.0环境配置

本文介绍在Windows10 下使用Visual Studio 2017编译gRPC 1.48.0并配置开发环境&#xff0c;以及开发、配置一个简单的c服务端以及客户端。&#xff08;过程令人头疼&#xff0c;参阅了大量博客&#xff0c;实际操作都存在问题&#xff0c;整理一下&#xff0c;希望对后来者有帮…

每日一练

这是一道牛客的dd爱框框的题 题目解析: 就是求大于x的最短子序列 我的思路:是滑动窗口 public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextInt()) { // 注意 while 处理多个 caseint n in.…

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

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

时序分解 | Matlab实现TVF-EMD时变滤波器的经验模态分解信号分量可视化

时序分解 | Matlab实现TVF-EMD时变滤波器的经验模态分解信号分量可视化 目录 时序分解 | Matlab实现TVF-EMD时变滤波器的经验模态分解信号分量可视化效果一览基本介绍程序设计参考资料 效果一览 基本介绍 Matlab实现TVF-EMD(时变滤波器的经验模态分解)可直接替换 Matlab语言 1.…

2024年思维100春季线上赛倒计时2天,快来做思维100历年真题700道

今天是2024年4月18日&#xff0c;距离2024年春季思维100活动第一阶段的线上比赛4月20日还有2天。我们来从历年的思维100真题中来分析和推测&#xff0c;把历年真题和背后的知识点吃透了&#xff0c;举一反三&#xff0c;并建立自己的解题思路和技巧。从而提高思维100的考试成绩…

OSPF星型拓扑和MGRE全连改

一&#xff0c;拓扑 二&#xff0c;要求 1&#xff0c;R6为ISP只能配置IP地址&#xff0c;R1-R5的环回为私有网段 2&#xff0c;R1/4/5为全连的MGRE结构&#xff0c;R1/2/3为星型的拓扑结构&#xff0c; 3&#xff0c;R1为中心站点所有私有网段可以互相通讯&#xff0c;私有网段…

JavaWeb--05Vue项目简介

Vue项目简介 1 创建vue项目2 Vue项目目录结构3 运行Vue项目3 Vue项目开发流程 1 创建vue项目 环境准备好了&#xff0c;接下来我们需要通过Vue-cli创建一个vue项目&#xff0c;然后再学习一下vue项目的目录结构。Vue-cli提供了如下2种方式创建vue项目: 命令行&#xff1a;直接…