mysql监控系统:PMM部署与使用

本文详细介绍了如何通过Docker部署PerconaMonitoringManager(PMM)以监控MySQL、MongoDB等数据库,涉及服务端和客户端组件的安装、配置及数据库实例的添加。PMM通过C/S架构提供性能监控和可视化界面。

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

一、简介 

PMM是percona公司出品的一款mysql、mariadb,percona server、postgresql的监控软件,可以对引擎,事物,日志,系统等项目进行全面的监控。

PMM是C/S架构

下载地址:https://www.percona.com/downloads/pmm/ 请确保版本一致

部署PMM前提需要docker环境。

二、服务端部署

PMM Server是PMM的核心部分,它聚合收集的数据,并以Web界面的表格,仪表板和图形的形式呈现,包括以下组件

Query Analytics(QAN):按时间周期查询MySQL性能,同客户端的qan agent通讯包括两个组件 。qan api 和qan web app
Metrics Monitor(MM):提供MySQL和mongo的性能历史视图

拉取docker的PMM镜像

docker pull percona/pmm-server:latest

创建PMM的数据容器卷

docker create -v /opt/prometheus/data -v /opt/consul-data -v /var/lib/mysql -v /var/lib/grafana --name pmm-data percona/pmm-server:latest /bin/true

启动PMM,端口映射到80端口

docker run -d -p 8080:80 -p 8443:443 --volumes-from pmm-data --name pmm-server --restart always percona/pmm-server:latest

三、客户端部署

PMM Client是安装在你要监视的MySQL或MongoDB主机上的一组代理组件。组件收集关于一般系统和数据库性能的各种数据,并将该数据发送到相应的PMM服务器组件。包括以下工具

pmm-admin:pmm客户端客理工具,用于增加或是删除需要监控的数据库实例
percona-qan-agent:用于搜集数据库性能数据
node_exporter :用于搜集常用的系统指标
mysqld_exporter:用于搜集MySQL性能指标
mongodb_export:用于搜集MongoDB性能指标
*proxysql_export:用于搜集proxySQL性能指标
在数据库主机上安装PMM Client软件包之前,请确保你的PMM Server主机可访问。

安装在每个需要被监控的主机上,采集信息:

yum -y install pmm-client

指定server地址:pmm-admin config --server 192.168.89.99

手动添加主机

pmm-admin add mysql --user root --password 123456 --port=3307

检测网络通信等是否正常

pmm-admin check-network

登录到server的8080端口,即在浏览器中访问:ServerIP:8080 即可访问到PMM的监控

四、升级

docker pull percona/pmm-server:latest
docker stop pmm-server && docker rm pmm-server
docker run -d -p 8080:80 -p 9090:9090 --volumes-from pmm-data --name pmm-server -e SERVER_USER=pmm -e SERVER_PASSWORD=ngiISI0Q4g9gfqWz89folKJSi --restart always --init percona/pmm-server:latest

部署pmm-server:2.40.0

docker run -d --name pmm -p 8080:80 -p 8443:443 percona/pmm-server:2.40.0

下载和安装pmm-client

wget https://downloads.percona.com/downloads/pmm2/2.40.0/binary/redhat/8/x86_64/pmm2-client-2.40.0-6.el8.x86_64.rpm
rpm -i pmm2-client-2.40.0-6.el8.x86_64.rpm

pmm agent的工作目录是/usr/local/percona/pmm2,二进制命令位于/usr/local/percona/pmm2/bin目录下。

注册pmm-client

export MYHOST=192.168.0.70
pmm-admin config --server-insecure-tls --server-url=https://admin:admin@$MYHOST:8443

pmm-admin命令执行成功后,pmm-agent的运行是由systemd来管理的,各种exporter都是pmm-agent的子进程。

部署mysql实例

部署2个MySQL实例,分别是5.7版本和8.0版本。

docker run -p 3306:3306 --name mysql-demo1 -e MYSQL_ROOT_PASSWORD=password -d mysql:5.7
docker run -p 3307:3306 --name mysql-demo2 -e MYSQL_ROOT_PASSWORD=password -d mysql:8.0


分别进入2个MySQL实例创建新账号,用于pmm组件对MySQL的访问。

CREATE USER 'pmm_user'@'%' IDENTIFIED BY 'password';
GRANT SELECT, PROCESS, SUPER, REPLICATION CLIENT, RELOAD ON *.* TO 'pmm_user'@'%';
flush privileges;

 添加mysql实例到pmm

# 使用performance schema作为SQL分析模块的数据源
# 要求MySQL 5.6.9或以上

export MYHOST=192.168.0.70
pmm-admin add mysql --query-source=perfschema --username pmm_user --password 'password' mysql-demo1 $MYHOST:3306
pmm-admin add mysql --query-source=perfschema --username pmm_user --password 'password' mysql-demo2 $MYHOST:3307


小结

本文通过docker方式部署pmm-server和数据库实例、通过二进制方式部署pmm-agent,可让DBA工程师快速初窥pmm监控。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值