Percona Monitoring and Management (PMM)1.X安装部署
一、PMM架构
Percona Monitoring and Management是percona一款开源的用于管理和监控MySQL 和MongoDB性能的开源平台,通过PMM客户端收集到的DB监控数据用第三方软件Grafana画图展示出来,包括两个部分:
PMM client:部署在每个监控数据库主机。搜集主机,数据库和查询分析数据等。
PMM Server:汇集数据并展示。提供表,dashboards和graph的web界面。
其架构如下图所示:

PMM Client由以下部分组成:
pmm-admin:提供命令行交互界面管理pmm client,包括新增、删除数据库实例等。
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.
安装步骤:
IP:192.168.24.90 PMM服务器
IP:192.168.24.92 PMM客户端
docker 部署pmm与mysql监控
安装docker
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine
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 makecache fast
yum -y install docker-ce
systemctl start docker
docker run hello-world
1.下载PMM Server Docker镜像
#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:1.17.4 /bin/true
2.启动
#防火墙必须开启
docker run -d -p 80:80 --volumes-from pmm-data --name pmm-server --restart always percona/pmm-server:1.17.4
端口默认是 80 ,如果80端口被占用,可改为其它端口号 比如 81
3.查看docker运行状态
docker ps -a

4.浏览器访问,地址一般是 http://ip地址:端口,也可以直接输 ip地址; 注意,一般端口默认为80 ,登陆用户名:admin,登陆密码:admin
5.安装pmm-client客户端
#PMM客户端上安装
wget https://www.percona.com/downloads/pmm-client/pmm-client-1.17.4/binary/tarball/pmm-client-1.17.4.tar.gz
tar -zxvf pmm-client-1.17.4.tar.gz
cd pmm-client-1.17.4 && ./install
##此时你会发现可以使用pmm-admin指令
6.连接PMM Server
pmm-admin config --server PMM服务器ip地址:80
#注意,如果以上步骤docker run映射的端口不是80,比如为81,此时应该pmm-admin config --server ip地址:81

7.添加linux监控
pmm-admin add linux:metrics
8.查看状态列表
pmm-admin list

9.查看网络状态
pmm-admin check-network

10.查看日志
日志默认在/var/log/下。以pmm开头
[root@open-falcon mysql]# ls /var/log/ | grep pmm
http://192.168.24.90:80(PMM服务器IP地址)进入PMM页面
Environment Overview项为主机各项监控图示
点击click to go to system overview进入目标主机监控项


11.添加MySQL监控
#添加的用户必须要有select以上的权限,MySQL8版本需要将密码改为本地模式
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
#添加MySQL服务到监控
pmm-admin add mysql --user root --password password
#检查网络状态
pmm-admin check-network

点击home进入首页,选择mysql选项

首页右上栏点击Query Analytics


#对于SQL语句分析MySQL8版本配置文件my.cnf中需要添加以下参数;
[mysqld]
default_authentication_plugin=mysql_native_password
innodb_monitor_enable=all
performance_schema=ON
log_output=file
slow_query_log=ON
long_query_time=0
log_slow_admin_statements=ON
log_slow_slave_statements=ON


浙公网安备 33010602011771号