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. shutdown immediate 持久无法关闭数据库之解决方案

    问题引出:测试环境,进行oralce的shutdown immediate,等待时间很长,长的无法等待 ORACLE shutdown 过程: 1.shutdown normal(正常关闭方式):阻止 ...

  2. django虚拟环境搭建

    windows建立Django项目(建立虚拟环境,安装virtualenv,安装Django,创建项目) 目的:为每一个项目单独配置一个环境例如:项目一使用django1.10, 项目二使用djang ...

  3. Layui 监听 复选框 提交表单

    表单数据这一块 layui 做的是真的不好,无论是在渲染还是在交互方面,每次都要自己来重新实现代码 #贴上代码 <!DOCTYPE html> <head> <meta ...

  4. nodejs研发环境

    https://blog.csdn.net/angl129/article/details/90696251

  5. 在ASP.NET MVC项目中使用极验验证(geetest)

    时间 2016-03-02 18:22:37 smallerpig 原文  http://www.smallerpig.com/979.html 主题 ASP.NET MVC   geetest开发体 ...

  6. BZOJ 1984: 月下“毛景树” (树链剖分+线段树)

    注意赋值和加法的标记下传优先级.具体看代码. CODE #include <vector> #include <queue> #include <cstdio> # ...

  7. POJ 2142 - The Balance [ 扩展欧几里得 ]

    题意: 给定 a b n找到满足ax+by=n 的x,y 令|x|+|y|最小(等时令a|x|+b|y|最小) 分析: 算法一定是扩展欧几里得. 最小的时候一定是 x 是最小正值 或者 y 是最小正值 ...

  8. kubernetes的搭建以及dashboard页面的启动

    ###查看kubernetes状态 ``` kubectl get pods -A #查看相关状态 kubectl get cs #查看k8s的ready状态 kubectl get node #查看 ...

  9. [ubuntu] 外挂硬盘

    1. 查看磁盘信息 fdisk -l 这里我需要对sda进行分区,所以要进到sda中 2. 进到欲分区磁盘中 $ sudo fdisk /dev/sda Welcome to fdisk (util- ...

  10. centos6升级系统内核

    1.升级系统内核查看内核版本: uname -r 2.6.32-573.8.1.el6.x86_64 导入elrepo的key: rpm --import https://www.elrepo.org ...