Percona Monitoring and Management (PMM)是一款开源的用于管理和监控MySQL和MongoDB性能的开源平台

通过PMM客户端收集到的DB监控数据用第三方软件Grafana画图展示出来
PMM提供了对MyISAM、InnoDB、TokuDB和PXC/Glarera的监控,另外也提供了Query Analytics的功能,可以
检视执行了哪些SQL指令,并对执行效能较差的语法进行优化。另外在新版本还支持了MySQL复制拓扑图结构构造

1 安装

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum clean all
yum makecache
yum install -y epel-release
yum install docker -y
systemctl start docker
docker pull percona/pmm-server:latest

查看镜像

[root@jenkins opt]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/percona/pmm-server latest deac61541b67 5 months ago 1.08 GB
[root@jenkins opt]# docker version
Client:
Version: 1.13.1
API version: 1.26
Package version: docker-1.13.1-102.git7f2769b.el7.centos.x86_64
Go version: go1.10.3
Git commit: 7f2769b/1.13.1
Built: Mon Aug 5 15:09:42 2019
OS/Arch: linux/amd64 Server:
Version: 1.13.1
API version: 1.26 (minimum version 1.12)
Package version: docker-1.13.1-102.git7f2769b.el7.centos.x86_64
Go version: go1.10.3
Git commit: 7f2769b/1.13.1
Built: Mon Aug 5 15:09:42 2019
OS/Arch: linux/amd64
Experimental: false

--关闭防火墙,禁用selinux

groupadd docker
useradd -g docker docker

创建容器

[docker@jenkins ~]$ docker create \
> -v /opt/prometheus/data \
> -v /opt/consul-data \
> -v /var/lib/mysql \
> -v /var/lib/grafana \
> --name pmm-data \
> docker.io/percona/pmm-server /bin/true
fc92bd7d4bcc2e2014cbb5a03584ea269e8cea0e268aca4901a6827cf4570529

启动容器

[docker@jenkins ~]$ docker run -d    -p 8090:80    --volumes-from pmm-data    --name pmm-server    --restart always    docker.io/percona/pmm-server
8d925d326813083143c04ff6155617738624f4a9e8c6792ae6200bd78e05a214

安装pmm-client

[root@jenkins opt]# rpm -ivh pmm-client-1.17.1-1.el7.x86_64.rpm
warning: pmm-client-1.17.1-1.el7.x86_64.rpm: Header V4 RSA/SHA256 Signature, key ID 8507efa5: NOKEY
Preparing... ################################# [100%]
Updating / installing...
1:pmm-client-1.17.1-1.el7 ################################# [100%]

配置server

[root@jenkins opt]# pmm-admin config --server 192.168.19.229:8090
OK, PMM server is alive. PMM Server | 192.168.19.229:8090
Client Name | jenkins
Client Address | 192.168.19.229

创建mysql监控账号

(root@localhost:mysql.sock) [(none)]> create user 'monitor'@'%' identified by '***';
Query OK, 0 rows affected (0.47 sec)
(root@localhost:mysql.sock) [(none)]> grant all privileges on *.* to 'monitor'@'%';
Query OK, 0 rows affected (0.02 sec)
(root@localhost:mysql.sock) [(none)]> flush privileges;
Query OK, 0 rows affected (0.21 sec)

添加remote mysql实例

[root@jenkins opt]# pmm-admin add mysql --user monitor --password *** --host 10.15.7.29
[linux:metrics] OK, now monitoring this system.
[mysql:metrics] OK, now monitoring MySQL metrics using DSN monitor:***@tcp(10.15.7.29:3306)
[mysql:queries] OK, now monitoring MySQL queries from perfschema using DSN monitor:***@tcp(10.15.7.29:3306)
[root@jenkins opt]# pmm-admin list
pmm-admin 1.17.1 PMM Server | 192.168.19.229:8090
Client Name | jenkins
Client Address | 192.168.19.229
Service Manager | linux-systemd -------------- -------- ----------- -------- --------------------------------- ---------------------------------------------
SERVICE TYPE NAME LOCAL PORT RUNNING DATA SOURCE OPTIONS
-------------- -------- ----------- -------- --------------------------------- ---------------------------------------------
mysql:queries jenkins - YES monitor:***@tcp(10.15.7.29:3306) query_source=perfschema, query_examples=true
linux:metrics jenkins 42000 YES -
mysql:metrics jenkins 42002 YES monitor:***@tcp(10.15.7.29:3306)
[root@jenkins opt]# pmm-admin check-network
PMM Network Status Server Address | 192.168.19.229:8090
Client Address | 192.168.19.229 * System Time
NTP Server (0.pool.ntp.org) | 2019-08-08 06:25:51 +0000 UTC
PMM Server | 2019-08-08 06:25:50 +0000 GMT
PMM Client | 2019-08-08 14:25:52 +0800 CST
PMM Server Time Drift | OK
PMM Client Time Drift | OK
PMM Client to PMM Server Time Drift | OK * Connection: Client --> Server
-------------------- -------
SERVER SERVICE STATUS
-------------------- -------
Consul API OK
Prometheus API OK
Query Analytics API OK Connection duration | 372.087µs
Request duration | 5.621825ms
Full round trip | 5.993912ms * Connection: Client <-- Server
-------------- -------- --------------------- ------- ---------- ---------
SERVICE TYPE NAME REMOTE ENDPOINT STATUS HTTPS/TLS PASSWORD
-------------- -------- --------------------- ------- ---------- ---------
linux:metrics jenkins 192.168.19.229:42000 OK YES -
mysql:metrics jenkins 192.168.19.229:42002 OK YES -

监控系统-PMM的更多相关文章

  1. 实战 Prometheus 搭建监控系统

    实战 Prometheus 搭建监控系统 Prometheus 是一款基于时序数据库的开源监控告警系统,说起 Prometheus 则不得不提 SoundCloud,这是一个在线音乐分享的平台,类似于 ...

  2. MySQL监控利器-PMM

    本篇文章来简要介绍一下MySQL监控利器-PMM的部署过程. 环境: 主机名 IP 功能 系统 数据库版本 pmmclient 192.168.91.34 PMM-client RHEL7.4   p ...

  3. Opserver开源的服务器监控系统(ASP.NET)

    Opserver是Stack Exchange下的一个开源监控系统,系统本身由C#语言开发的ASP.NET(MVC)应用程序,无需任何复杂的应用配置,入门很快.下载地址:https://github. ...

  4. prometheus监控系统

    关于Prometheus Prometheus是一套开源的监控系统,它将所有信息都存储为时间序列数据:因此实现一种Profiling监控方式,实时分析系统运行的状态.执行时间.调用次数等,以找到系统的 ...

  5. 利用WCF的双工通讯实现一个简单的心跳监控系统

    何为心跳监控系统? 故名思义,就是监控某个或某些个程序的运行状态,就好比医院里面的心跳监视仪一样,能够随时显示病人的心跳情况. 心跳监控的目的是什么? 与医院里面的心跳监视仪目的类似,监控程序运行状态 ...

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

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

  7. 监控系统Opserver的配置调试

    Stack Exchange开源其监控系统Opserver有一段时间了.之前在项目中用过他们的MiniProfile来分析页面执行效率和帮助新人了解项目,当他们开源了其监控系统的时候正好部门也在关注监 ...

  8. 日志监控系统中,大批量查询mysql方案

    最近开发遇到一个问题:需要查询一个大时间段内的数据,分1000个小段,即为1000个点.X轴是时间,Y轴是该小时间段内统计后数据.注意:数据返回是一个list,其中每个对象返回值都是该小时间段内数据统 ...

  9. day26 分布式监控系统开发

    本节内容 为什么要做监控? 常用监控系统设计讨论 监控系统架构设计 监控表结构设计 为什么要做监控? –熟悉IT监控系统的设计原理 –开发一个简版的类Zabbix监控系统 –掌握自动化开发项目的程序设 ...

随机推荐

  1. crc32 cpp Makefile可参考

    https://github.com/stbrumme/crc32 # simple Makefile CPP = g++ # files PROGRAM = Crc32Test LIBS = -lr ...

  2. mybatis整合Spring(一)

    DAO层:数据访问层 对远程存储系统做操作的一些程序统一放在DAO层 DAO层工作演变为:接口设计+SQL编写 DAO拼接等逻辑在Service层完成

  3. nginx代理服务

    代理----介于客户端和服务器之间 ICMP\POP\IMAP是邮件的收/发相关协议;RTMP是视频,音频等流媒体协议 http代理 正向代理 如果一个公司多台电脑中只有一台电脑能上网,那么不能上网的 ...

  4. Hadoop-No.2之标准文件格式

    标准文件格式可以指文本格式,也可以指二进制文件类型.前者包括逗号分隔值(Comma-Separated Value,CSV和可扩展的标记语言文本(Extensible Markup Language. ...

  5. CSS3—HSL与HSLA属性

    ㈠HSL(H,S,L) ⑴通过对色相(H).饱和度(S).明度(L)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色 ⑵取值 H:Hue(色调).0(或360)表示红色,120表示绿色,2 ...

  6. java+根据多个url批量下载文件

    1.基本流程 当我们想要下载网站上的某个资源时,我们会获取一个url,它是服务器定位资源的一个描述,下载的过程有如下几步: (1)客户端发起一个url请求,获取连接对象. (2)服务器解析url,并且 ...

  7. luogu3812 【模板】线性基

    Code: #include <cstdio> #include <algorithm> #define ll long long #define N 64 #define s ...

  8. XML -- 为什么选择XML?

    1.XML是什么,主要功能? XML全称(EXtensible Markup Language),是可扩展性标记语言. XML主要功能是用来传输和存储数据.它就是一种纯文本.只要程序能访问纯文本就能访 ...

  9. angular打包(二):nw.js

    1 npm build 把ng编译出dist 2 单独写一个package.json 放在dist文件夹里. { "name": "app", "ma ...

  10. codeforces340C

    Tourist Problem CodeForces - 340C Iahub is a big fan of tourists. He wants to become a tourist himse ...