一、docker安装PMM服务端

1、安装yum配置单元
 # 如果已安装,略过此步
yum install -y yum-utils #yum配置单元
2、配置docker阿里云yum源
#配置docker阿里云yum源
[root@rocky-18 yum.repos.d]# vim aliyun_docker.repo
[root@rocky-18 yum.repos.d]# yum repolist [docker-ce-stable]
name=Docker CE Stable - $basearch
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/$releasever/$basearch/stable
enabled=1
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg [docker-ce-stable-debuginfo]
name=Docker CE Stable - Debuginfo $basearch
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/$releasever/debug-$basearch/stable
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg [docker-ce-stable-source]
name=Docker CE Stable - Sources
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/$releasever/source/stable
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg [docker-ce-test]
name=Docker CE Test - $basearch
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/$releasever/$basearch/test
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg [docker-ce-test-debuginfo]
name=Docker CE Test - Debuginfo $basearch
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/$releasever/debug-$basearch/test
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg [docker-ce-test-source]
name=Docker CE Test - Sources
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/$releasever/source/test
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg [docker-ce-nightly]
name=Docker CE Nightly - $basearch
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/$releasever/$basearch/nightly
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg [docker-ce-nightly-debuginfo]
name=Docker CE Nightly - Debuginfo $basearch
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/$releasever/debug-$basearch/nightly
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg [docker-ce-nightly-source]
name=Docker CE Nightly - Sources
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/$releasever/source/nightly
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg
3、安装依赖包
[root@rocky-18 yum.repos.d]# yum install -y device-mapper-persistent-data lvm2    #驱动映射包,和lvm逻辑卷管理命令
4、启动docker
[root@rocky-18 yum.repos.d]# systemctl enable --now docker
5、拉取pmm-server镜像
[root@rocky-18 ~]# docker pull percona/pmm-server:latest
latest: Pulling from percona/pmm-server
2d473b07cdd5: Pull complete
bf7875dc8ab7: Pull complete
Digest: sha256:975ad1b212771360298c1f9e0bd67ec36d1fcfd89d58134960696750d73f4576
Status: Downloaded newer image for percona/pmm-server:latest
docker.io/percona/pmm-server:lates
[root@rocky-18 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
percona/pmm-server latest 3d3c8937808d 4 weeks ago 1.94GB

6、运行pmm-server容器
[root@rocky-18 ~]# mkdir /opt/prometheus/data -p
[root@rocky-18 ~]# 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
203cd171607c2534fac061a3427a23b4ab2fc5a245e1abc031945e493cb427e0
[root@rocky-18 ~]# docker run --detach --restart always \
> --publish 443:443 \
> --volumes-from pmm-data \
> --name pmm-server \
> percona/pmm-server:latest
b89afbf00e8d877e591bc055d423e4f1db94f9c98cd70bccf5eaacd88db6d6b9
[root@rocky-18 ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b89afbf00e8d percona/pmm-server:latest "/opt/entrypoint.sh" 39 seconds ago Up 38 seconds (healthy) 80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp pmm-server
203cd171607c percona/pmm-server:latest "/bin/true" 6 minutes ago Created pmm-data

7、浏览器访问pmm-server grafana

默认用户名admin 密码admin 需要修改

二、在节点安装pmm-client

请确保MGR已经建立成功,并且认证方式是:mysql_native_password,建立MGR可参考https://blog.51cto.com/dayu/5656612

1、所有节点安装pmm-client
[root@mysql1 ~]# yum install -y https://repo.percona.com/yum/percona-release-latest.noarch.rpm                            #配置yumyuan
[root@mysql3 ~]# yum install -y pmm2-client
2、注册pmm-client客户端到pmm-server上(所有节点步骤相同)
[root@mysql1 ~]# pmm-admin config --server-insecure-tls --server-url=https://admin:admin@192.168.100.18:443
Checking local pmm-agent status...
pmm-agent is running.
Registering pmm-agent on PMM Server...
Registered.
Configuration file /usr/local/percona/pmm2/config/pmm-agent.yaml updated.
Reloading pmm-agent configuration...
Configuration reloaded.
Checking local pmm-agent status...
pmm-agent is running. # 另外两个节点执行同样命令注册pmm-client客户端到pmm-server上 #说明:
a)、192.168.100.18是PMM服务器的地址。
b)、443是默认端口号。
c)、admin/admin是默认的PMM用户名和密码。这是您用于登录PMM用户界面的同一个帐户
d)、server-insecure-tls客户必须使用安全通道向PMM服务器注册。如果使用http作为服务器URL,PMM将尝试通过https在端口443上进行连接。如果无法建立TLS连接,则会出现错误,您必须使用https以及相应的安全端口。

3、创建并授权pmm账号密码连接数据库
[root@mysql1 ~]# mysql
mysql> SELECT * FROM performance_schema.replication_group_members; #查看MGR连接是否正常
mysql> create user pmm@'192.168.100.%' identified by '123456'; #在MGR中创建用于数据采集的用户,接入到PMM中
mysql> grant select,process,replication client,reload,backup_admin on *.* to pmm@'192.168.100.%'; # 授权
mysql> UPDATE performance_schema.setup_consumers SET ENABLED = 'YES' WHERE NAME LIKE '%statements%'; # 开启MySQL的performance_schema的SQL语句监控指标采集项 mysql> select * from performance_schema.setup_consumers WHERE NAME LIKE '%statements%'; mysql> SET persist innodb_monitor_enable = all; #启用MySQL的innodb启用计数器,其参数后面可跟计数对象如log,metadata_table_handles_opened,metadata_table_handles_closed等,如果设置为ALL代表统计所有选项,负面影响就是由于每个计数器都会增加一定程度的运行时开销,因此请在生产服务器上尽量保守使用计数器功能,根据实际需求,开启特定对象的监控,用来诊断分析定位问题或监控特定指标项。
4、添加MGR实例到监控中
方法一:通过web页面方式添加MGR实例到监控中

方法二:可通过命令行方式增加监控的数据库
# 在安装pmm-client客户端的主机上,添加监控的MySQL实例

pmm-admin add mysql --username=username --password=password --tls --tls-skip-verify --tls-ca=pathtoca.pem --tls-cert=pathtocert.pem --tls-key=pathtocertkey.pem --server-url=http://admin:admin@172.16.130.12 --query-source=perfschema name 172.16.130.53:3308

# 如果开启了MGR的慢日志,则可以通过下列命令添加慢日志监控

三、监控选项:

四、卸载

1、卸载PMM-CLIENT
#yum安装方式和二进制包方式
yum remove -y pmm2-client
yum remove -y percona-release
2、取消到pmm-server的注册
pmm-admin unregister --force

​ 取消监控的节点或者客户端:

pmm-admin remove <service-type> <service-name>
service-type:
mysql, mongodb, postgresql, proxysql, haproxy, external
3、docker方式卸载pmm-client 总结起来3个字,1停2删3清
docker stop pmm-client    #停止pmm-client 容器
docker rm pmm-client #删除pmm-client 容器
docker rmi $(docker images | grep "percona/pmm-client" | awk {'print $3'}) --force #删除pmm-client的docker镜像
docker volume rm pmm-client-data 清理卷组中的数据

PMM实现监控Mysql-MGR的更多相关文章

  1. pmm 监控mysql、mongodb、系统

    Pmm监控 1.概述 Pmm是(percona management and monitoring)一款用于数据库(mysql.mongodb)的监控工具,是一种典型的C/S架构.本次部署采用的是do ...

  2. PMM 监控 MySQL

    Percona Monitoring and Management (PMM)是一款开源的用于监控 MySQL 和 MongoDB 性能的开源平台,通过 PMM 客户端收集到的 DB 监控数据用第三方 ...

  3. 【DB宝41】监控利器PMM的使用--监控MySQL、PG、MongoDB、ProxySQL等

    目录 一.PMM简介 二.安装使用 三.监控MySQL数据库 MySQL慢查询分析 四.监控PG数据库 五.监控MongoDB数据库 六.监控ProxySQL中间件 一.PMM简介 之前发布过一篇Pr ...

  4. 使用Prometheus+Grafana监控MySQL实践

    一.介绍Prometheus Prometheus(普罗米修斯)是一套开源的监控&报警&时间序列数据库的组合,起始是由SoundCloud公司开发的.随着发展,越来越多公司和组织接受采 ...

  5. 为MySQL MGR实现简单的负载均衡代理

    GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. 原创:万里数据库,花家舍 导读 在多写(多节点写入)数据库(例如MySQL MGR的multi-primary mode) ...

  6. 6. MGR状态监控 | 深入浅出MGR

    GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. 目录 1. 节点状态监控 2. MGR事务状态监控 3. 其他监控 4. 小结 参考资料.文档 免责声明 文章推荐: 关于 ...

  7. ProxySQL Cluster 高可用集群 + MySQL MGR环境部署 (多写模式) 部署记录

    文章转载自:https://blog.51cto.com/u_6215974/4937192 ProxySQL 在早期版本若需要做高可用,需要搭建两个实例,进行冗余.但两个ProxySQL实例之间的数 ...

  8. 分布式监控系统Zabbix-3.0.3-完整安装记录(7)-使用percona监控MySQL

    前面已经介绍了分布式监控系统Zabbix-3.0.3-完整安装记录(2)-添加mysql监控,但是没有提供可以直接使用的Key,太过简陋,监控效果不佳.要想更加仔细的监控Mysql,业内同学们都会选择 ...

  9. Zabbix监控mysql performance

    介绍 zabbix监控mysql性能,使用zabbix自带的mysql监控模板,可以监控以下内容OPS(增删改查).mysql慢查询数量.mysql请求\响应流量带宽 配置 新建mysql监控用户 G ...

  10. 监控mysql各种选项

    安装mysql之后,需要对mysql服务进行监控.   nagios开源自带的check_mysql 对 mysql 的slave 机监控倒是不错.但是对数据库主机监控就略显不足了.   使用一个监控 ...

随机推荐

  1. GitHub Pages 站点建设

    1.简介 GitHub Pages 是通过 GitHub 托管和发布的公共网页,将纯文本转换为静态博客网站. 您可以使用 GitHub Pages 来展示一些开源项目.博客甚或分享您的简历,有内存限制 ...

  2. HCIA-Datacom 3.2 实验二:生成树基础实验

    实验介绍 以太网交换网络中为了进行链路备份,提高网络可靠性,通常会使用冗余链路.但是使用冗余链路会在交换网络上产生环路,引发广播风暴以及MAC地址表不稳定等故障现象,从而导致用户通信质量较差,甚至通信 ...

  3. ENSP NE40E 报错(NE1启动操作超时,请检查与服务器链接后重试!)

    前言:某网友淘宝找我咨询NE40E启动失败的问题,事后我整理的处理过程,供各位同行参考. 系统版本:windows 10 软件版本: ENSP:V100R003C00 virtual BOX:5.2. ...

  4. CSP2021-S游记

    前言 年纪大了,脑子乱了,渐渐被低年级吊打了. 大家这么内卷下去,高年级的普遍后悔自己生早了,低年级永远占优势,不只是机会优势,还有能力优势. 快进到改变基因出生国家队算了-- Day0 非常不幸地被 ...

  5. 【java】学习路径43-IO流总结与练习题!

    总结 说白了,字节流就是处理类似图片文件.视频文件这些不能直接用记事本打开看的明白的文件. 字符流就是处理可以用记事本直接看的文件. 无论是字节流还是字符流,都有有输入输出两类.(废话) 如果要读取字 ...

  6. django_day05

    django_day05 内容回顾 内容回顾 对应关系 类-------表 对象-----数据行 属性------字段 django使用mysql数据库流程 创建一个mysql数据库 在setting ...

  7. 第一百篇:JS异步

    好家伙,打工人要打工,博客会更新的没有以前频繁了   芜湖,一百篇了,这篇写一个比较难的异步(其实并不难理解,主要是为promise铺垫)   老样子,先补点基础: 1.进程 来吧,新华字典    大 ...

  8. 第九十三篇:ESLint:可组装的javaScript和JSX检查工具

    好家伙, 1.什么是ESLint? 代码检查工具,用来检查你的代码是否符合指定的规范 2.ESLint有什么用? 统一JavaScript代码风格的工具 在合作开发的时候, 每个成员的代码风格都有可能 ...

  9. Currtid 函数与性能问题

    对于Oracle ,一条tuple 的 rowid正常是不会变化的(引发row movement的操作除外,如:跨分区迁移update,表收缩),因此,应用设计上可以方便的使用rowid,加快访问速度 ...

  10. 【python】生成一段连续的日期

    date-gen.py import datetime def date_generate(start_date, end_date): print(f'Hi, {start_date}, {end_ ...