pmm之mysql监控环境搭建

本文详细介绍了Percona Monitoring and Management (PMM) 的安装与使用,PMM是一款用于监控MySQL和MongoDB性能的开源平台。文章涵盖PMM的组件、工作原理、环境搭建、具体操作步骤,以及如何通过PMM客户端收集数据并展示。适合希望深入了解和实践PMM监控解决方案的数据库管理员和技术人员。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、什么是pmm

Percona Monitoring and Management是percona一款开源的用于管理和监控MySQL 和MongoDB性能的开源平台,通过PMM客户端收集到的DB监控数据用第三方软件Grafana画图展示出来,包括两个部分:PMM client:部署在每个监控数据库主机。搜集主机,数据库和查询分析数据等,安装PMM server有三种方式,下面主要使用docker环境来安装及配置pmm。

二、pmm备份原理

PMM分为两部分

PMM client:部署在每个监控数据库主机。搜集主机,数据库和查询分析数据等。

PMM Server:汇集数据并展示。提供表,dashboards和graph的web界面(可单独部署在一台机器上)。

PMM Client由以下部分组成:

pmm-admin:提供命令行交互界面管理pmm client,包括新增、删除数据库实例等(主要用于配置与pmm server的一些内容,默认安装后提供这个命令)。

pmm-mysql-query-0: 管理 mysql QAN代理的服务,从数据库实例搜集查询性能数据并发送到pmm server上的QAN API(默认安装没有找到这个命令工具)。

pmm-mongdb-query-0:管理mongdb QAN代理的服务(默认安装没有找到这个命令工具)。

node_exporter:搜集系统性能数据,基于prometheus exporter。更多信息查询:https://github.com/percona/node_exporter.(默认安装没有找到这个命令工具)

mysqld_exporter:mysql性能搜集(默认安装没有找到这个命令工具)。

mongodb_exporter:mongodb性能搜集(默认安装没有找到这个命令工具)。

proxysql_exporter:ProxySQL性能数据搜集(默认安装没有找到这个命令工具)。

PMM Server运行在中央监控数据上,目前可以基于容器,虚拟机或者AMI(amazon machine image)部署(默认安装没有找到这个命令工具)。

pmm server包含以下工具:

QAN(Query Analytics):分析mysql数据库的查询性能,相对于qan agent,它包含:

—qan api:后端存储和获取由agent采集的查询性能数据。

—qan web:提供数据展示。

metrics monitor:提供mysql和mongodb的历史性能数据查询。

—prometheus:第三方的时序数据库,连接到pmm client的exporter并汇集数据。consul给pmm client提供api用于远程list,添加,删除prometheus上的配置主机,并存储监控的元数据。

—grafana:第三方的图形展示界面。

Orchestrator:提供mysql复制的拓扑工具和图形界面。

参考:

端口:以下端口必须在pmm server和client之间开放;

pmm server需要开放80或443端口用于pmm client访问pmm web。

pmm client端必须开放以下默认端口采集数据,可以通过pmm-admin addc命令进行修改。

42000 For PMM to collect genenal system metrics.

42001 This port is used by a service which collects query performance data and makes it available to QAN.

42002 For PMM to collect MySQL server metrics.

42003 For PMM to collect MongoDB server metrics.

42004 For PMM to collect ProxySQL server metrics.

三、手把手带你搭建基于pmm的mysql监控

  • 环境搭建拓扑图
名称IP
pmm server192.168.56.152
mysql node+pmm client192.168.56.155

 

  •   安装docker,略
  • Docker配置

         安装一些必要的系统工具:

yum install -y yum-utils device-mapper-persistent-data lvm2

       

        添加软件源信息:

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

       更新 yum 缓存:

yum makecache fast
  • docker下安装PMM SERVER

        1.下载PMM Server Docker镜像

#版本可自选
docker create -v /opt/prometheus/data -v /opt/consul-data -v /var/lib/mysql -v /var/lib/grafana --name pmm-data percona/pmm-server:1.14.1 /bin/true

参数说明:

docker create:该命令指示Docker守护程序从映像创建容器。

-v:该选项初始化数据卷的容器。

--name:该选项为你可以用于引用Docker网络中的容器的容器分配一个自定义名称。

percona/pmm-server:latest :是导出容器的镜像名称和版本标签。

/bin/true :是容器运行的命令。

注:该镜像不启动,只为了保证pmm server的数据持久化以用于版本升级等场景。注意不要移动或者重新创建该镜像,除非确保数据不再需要。

注:确保镜像-v的数据卷存在,并最好是单独绑定挂载。

     2.启动镜像

docker run -d -p 80:80  --volumes-from pmm-data --name pmm-server --restart always percona/pmm-server:1.14.1
端口默认是 80 ,如果80端口被占用,可改为其它端口号   比如 81

参数说明:

docker run:该命令指示守护程序从镜像运行容器。

-d:该选项在分离模式(即后台)中启动容器。

-p:该选项映射用于访问PMM服务器 Web UI的端口。例如-p 8080:80,如果端口80不可用,则可以使用登陆页面映射到端口8080 。

--volumes-from:该选项从pmm-date容器中装入卷。

--name:该选项为你可以用于引用Docker网络中的容器分配一个自定义名称。

--restart:该选项定义容器的重新启动策略,设置它以always确保Docker守护程序在启动时启动容器,并在容器退出时重新启动它。

其他参数说明:

通过docker run的-e参数可以增加pmm-server启动的额外功能

     3.查看pmm server容器运行状态

[root@docker ~]# docker ps
CONTAINER ID        IMAGE                       COMMAND                  CREATED             STATUS              PORTS                         NAMES
e431acce2451        percona/pmm-server:1.14.1   "/opt/entrypoint.sh"     10 hours ago        Up 10 hours         0.0.0.0:80->80/tcp, 443/tcp   pmm-server

    4.浏览器访问,地址一般是  http://ip地址:端口,也可以直接输 ip地址; 注意,一般端口默认为80(打开的就是监控客户端)  

  • 安装pmm-client客户端

      1.下载、安装、启动(下载过程会比较慢)

wget https://www.percona.com/downloads/pmm-client/pmm-client-1.14.1/binary/tarball/pmm-client-1.14.1.tar.gz
tar -zxvf pmm-client-1.14.1.tar.gz
cd pmm-client-1.14.1 && ./install
##此时你会发现可以使用pmm-admin指令

    2.连接PMM SERVER

pmm-admin config --server ip地址
#注意,如果以上步骤docker run映射的端口不是80,比如为81,此时应该pmm-admin config --server ip地址:81

可以使用--help查看命令使用

   3. 将mysql纳入监控系统中。

#添加的用户必须要有select以上的权限
pmm-admin add mysql --user root --password xxxx --host ip  --port port
实例:
[root@centos7 pmm-client-1.14.1]# pmm-admin add mysql --user root --password 123456 --host 192.168.56.145

表示实例添加成功

  4.客户端查看列表状态pmm-admin list

  5.查看网络状态。

   6.日志默认在/var/log/下。以pmm开头

 至此pmm server 、pmm client  、mysql实例都安装添加完毕,管理pmm-server 客户端 ,添加监控,请参考官网

https://www.percona.com/doc/percona-monitoring-and-management/pmm-admin.html#adding-general-system-metrics-service

四、三部卸载PMM组件

      每个PMM客户端和PMM服务器都将单独删除。首先,使用pmm-admin remove命令删除所有受监视的服务(请参阅 删除监视服务)。然后,您可以删除每个PMM客户端和PMM服务器。

  • 删除PMM客户端

          删除所有受监视的实例,如删除监视服务中所述。然后,卸载pmm-admin软件包。删除PMM客户端的确切过程取决于安装方法。

# 利用yum源 安装的
yum remove pmm-client
  • 删除PMM服务器

如果使用Docker运行PMM Server,请按如下方式停止容器:

 docker stop pmm-server && docker rm pmm-server
--  docker stop  停止服务
--  docker rm    删除容器id

要丢弃所有收集的数据(如果您以后不打算使用PMM Server),请删除pmm-data 容器:

docker rm pmm-data

五、监控客户端使用说明

六、参考文献

博客1:https://www.cnblogs.com/yancun8141/articles/10837638.html

博客2:https://www.cnblogs.com/xiao987334176/p/11202029.html

七、总结

     本篇博客大概的讲解了pmm的基本安装和使用,其还有很多配置及功能有待去研究和学习。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值