PMM实现监控Mysql-MGR
一、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的更多相关文章
- pmm 监控mysql、mongodb、系统
Pmm监控 1.概述 Pmm是(percona management and monitoring)一款用于数据库(mysql.mongodb)的监控工具,是一种典型的C/S架构.本次部署采用的是do ...
- PMM 监控 MySQL
Percona Monitoring and Management (PMM)是一款开源的用于监控 MySQL 和 MongoDB 性能的开源平台,通过 PMM 客户端收集到的 DB 监控数据用第三方 ...
- 【DB宝41】监控利器PMM的使用--监控MySQL、PG、MongoDB、ProxySQL等
目录 一.PMM简介 二.安装使用 三.监控MySQL数据库 MySQL慢查询分析 四.监控PG数据库 五.监控MongoDB数据库 六.监控ProxySQL中间件 一.PMM简介 之前发布过一篇Pr ...
- 使用Prometheus+Grafana监控MySQL实践
一.介绍Prometheus Prometheus(普罗米修斯)是一套开源的监控&报警&时间序列数据库的组合,起始是由SoundCloud公司开发的.随着发展,越来越多公司和组织接受采 ...
- 为MySQL MGR实现简单的负载均衡代理
GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. 原创:万里数据库,花家舍 导读 在多写(多节点写入)数据库(例如MySQL MGR的multi-primary mode) ...
- 6. MGR状态监控 | 深入浅出MGR
GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. 目录 1. 节点状态监控 2. MGR事务状态监控 3. 其他监控 4. 小结 参考资料.文档 免责声明 文章推荐: 关于 ...
- ProxySQL Cluster 高可用集群 + MySQL MGR环境部署 (多写模式) 部署记录
文章转载自:https://blog.51cto.com/u_6215974/4937192 ProxySQL 在早期版本若需要做高可用,需要搭建两个实例,进行冗余.但两个ProxySQL实例之间的数 ...
- 分布式监控系统Zabbix-3.0.3-完整安装记录(7)-使用percona监控MySQL
前面已经介绍了分布式监控系统Zabbix-3.0.3-完整安装记录(2)-添加mysql监控,但是没有提供可以直接使用的Key,太过简陋,监控效果不佳.要想更加仔细的监控Mysql,业内同学们都会选择 ...
- Zabbix监控mysql performance
介绍 zabbix监控mysql性能,使用zabbix自带的mysql监控模板,可以监控以下内容OPS(增删改查).mysql慢查询数量.mysql请求\响应流量带宽 配置 新建mysql监控用户 G ...
- 监控mysql各种选项
安装mysql之后,需要对mysql服务进行监控. nagios开源自带的check_mysql 对 mysql 的slave 机监控倒是不错.但是对数据库主机监控就略显不足了. 使用一个监控 ...
随机推荐
- SpingBoot解析Excel数据
前言 在最近的工作中,由于导入模板除了前三列(姓名.手机号.实发工资)固定:其余的列不固定,并且可以做到两个模板的数据都能够正常入库进行对应业务处理. 一.数据模板数据展示: (1)模板一 (2)模板 ...
- Go语言Tips
时间日期格式化 time.Now().Format("2006-01-02") 原生DefaultServeMux支持restful路由 ref: https://towardsd ...
- 【面试题】Vue中的$router 和 $route的区别
Vue中的$router 和 $route的区别 点击视频讲解更加详细 this.$route:当前激活的路由的信息对象.每个对象都是局部的,可以获取当前路由的 path, name, params, ...
- 【Homebrew】安装
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)" 官网安 ...
- Java连接简单使用ElasticSearch
目录 1. 添加依赖 2. 代码,无账号密码 3. 代码,有账号密码,并且是https方式 4. 参考文章 1. 添加依赖 <!-- https://mvnrepository.com/arti ...
- docker可视化
可视化第一种方式 Portainer(不是最佳选择但先用这个) docker run -d -p 8088:9000 \ #docker run 启动:通过内网9000端口,外网8088端口:rest ...
- Elastic:使用ElastAlert发送邮件通知
转载自:https://blog.csdn.net/UbuntuTouch/article/details/105473542 文档地址:https://elastalert.readthedocs. ...
- nacos基础知识理解
概念 Nacos是阿里巴巴开源的一款支持服务注册与发现,配置管理以及微服务管理的组件.用来取代以前常用的注册中心(zookeeper , eureka等等),以及配置中心(spring cloud c ...
- Elasticsearch实现类Google高级检索
文章转载自: https://mp.weixin.qq.com/s?__biz=MzI2NDY1MTA3OQ==&mid=2247483914&idx=1&sn=436f814 ...
- OpenJudge 1.5.35:求出e的值
35:求出e的值 总时间限制:1000ms 内存限制:65536kB 描述 利用公式e = 1 + 1/1! + 1/2! + 1/3! + ... + 1/n! 求e . 输入 输入只有一行,该行包 ...