pmm最新版本v2.40.0尝鲜体验

1 概述

PMM 是一款免费开源的企业级的数据库监控工具,可用来监控 MySQL、MongoDB 和 PostgreSQL 等数据库。除了指标监控,针对MySQL还具备SQL语句的性能监控。

官方地址是https://docs.percona.com/percona-monitoring-and-management,最新版本为v2.40.0。

2 架构


pmm是server-agent架构。

master端是同时具备多个数据库的。pg是关系型数据库用于存储pmm元数据,vm是时序数据库用于存储指标数据,clickhouse用于存储SQL分析相关的数据。

master端是包含一个agent守护进程和N个expoter。

2 部署

2.1 环境

版本信息如下:

a、操作系统:centos 7.6

b、主机IP:192.168.0.70

c、docker版本:20.10.5-3

2.2 安装docker

复制代码
yum install -y yum-utils device-mapper-persistent-data lvm2
yum install yum-utils -y
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum list docker-ce --showduplicates
yum install docker-ce-cli-20.10.5-3.el7 docker-ce-20.10.5-3.el7 -y

mkdir -p /etc/docker
cat > /etc/docker/daemon.json << EOF
{
      "registry-mirrors": ["https://bxsfpjcb.mirror.aliyuncs.com", "https://registry.docker-cn.com"],
      "max-concurrent-downloads": 10,
      "log-driver": "json-file",
      "log-level": "warn",
      "log-opts": {
          "max-size": "100m",
          "max-file": "3"
      },
       "live-restore": true,
      "exec-opts": ["native.cgroupdriver=systemd"]
}
EOF

systemctl daemon-reload
systemctl enable docker.service
systemctl restart docker

2.3 部署pmm-server

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

在浏览器访问http://主机:8080即可进入grafana界面。

另外,此版本的pmm-server中的grafana的数据库默认已是pg。

2.4 下载和安装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目录下。

2.5 注册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的子进程。

2.6 部署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;

2.7 添加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

3 grafana界面


小结

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

相关推荐
toooooop84 小时前
MySQL source导入实战:踩坑记,phpMyAdmin 502、source导入巨慢问题解决
mysql
hasty6 小时前
Origin 校验不是身份认证:MySQL MCP Server 漏洞给 AI 平台的警告
数据库·mysql·安全
JavaPub-rodert9 小时前
Docker 安装 MySQL 完整教程:从零部署数据库,到生产环境持久化配置
数据库·mysql·docker
隔窗听雨眠9 小时前
MySQL整库迁移至KaiwuDB完全指南:从数据类型映射到生产切换的系统性实践
数据库·mysql
2301_322414280410 小时前
活力孕康复APP 47737- 原创(免费领源码+部署教程+开发环境)
java·vue.js·spring boot·mysql·微信小程序·idea·微信开发者工具
YIAN14 小时前
手撸社区后端:一套可落地的用户 - 文章 - 互动体系 MySQL 表设计与优化思路
后端·mysql
码农学院14 小时前
零售电商GEO踩坑复盘:把 MySQL 商品库自动映射成 Product Schema 的完整方案
人工智能·mysql·零售·geo
ShineWinsu17 小时前
对于MySQL:索引的解析
linux·数据库·mysql·面试·笔试·索引·海量数据
服务端相声演员1 天前
in子查询的执行可能被优化为连接查询
mysql
写后端的胖头鱼1 天前
【高频面试题】深分页问题
数据库·mysql·数据库优化·深分页