前言

数据库监控工具最常用的就是zabbix了,zabbix能将收集到的数据通过图表展示出来,并通过设置阈值及时告警。可zabbix对于文本的处理就不行了,比方说抓取数据库运行的sql,这个zabbix就无能为力。如果想看这段时间内执行的sql,常用的手段,对于oracle我们能通过拉取一段时间的awr报告进行分析,可mysql和mongodb没有类似的分析报告,只能去慢日志里面淘。接下来介绍一款监控mysql、mongodb的利器(PMM)。
(PMM)是一款开源的用于管理和监控MySQL和MongoDB性能的开源平台,通过PMM客户端收集到的DB监控数据用第三方软件Grafana画图展示出来。PMM除了能监控系统和数据库的一些指标以外,还能显示数据库指定时间范围内的慢日志,类似于Oracle中AWR的SQL ordered by Elapsed Time。
界面demo可以看官网:https://pmmdemo.percona.com/graph/

安装使用

pmm分为pmm-server和pmm-agent。pmm-server部署在单独的一台机器上,pmm-agent部署在被监控机上。下面是官网上介绍pmm的架构。

server端

安装的方式采用docker,我这里使用的环境是centos7(建议使用centos7)

关闭防火墙和selinux
systemctl stop firewalld.service
systemctl disable firewalld.service
setenforce 0
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config

安装docker
yum install docker -y

启动docker
service docker start

下载最新的镜像文件
docker pull percona/pmm-server:latest

查看镜像
docker tag percona/pmm-server percona/pmm-server:1.1.1  # 复制percona/pmm-server:latest镜像,并重命名为percona/pmm-server:1.1.1
docker images

创建容器
docker create \
   -v /opt/prometheus/data \
   -v /opt/consul-data \
   -v /var/lib/mysql \
   -v /var/lib/grafana \
   --name pmm-data \
   percona/pmm-server:1.1.1 /bin/true

启动容器
docker run -d \
   -p 8080:80 \
   --volumes-from pmm-data \
   --name pmm-server \
   --restart always \
   percona/pmm-server:1.1.1

查看容器运行
docker ps

pmm-agent端

下载pmm-client(https://www.percona.com/downloads/pmm/),下载rpm包或二进制包都行,我这里使用的是二进制包



安装pmm-agent

tar -zxvf pmm-client-1.17.1.tar.gz
cd pmm-client-1.17.1
./install

连接PMM Server
./pmm-admin config --server 10.40.16.60:8080  #10.40.16.60为pmm-server的ip地址
增加MySQL监控服务
先创建一个监控用户,也可以用已经存在的用户
SQL> grant all on *.* to monitor@'%' identified by 'monitor';
./pmm-admin add mysql --user monitor --password monitor --host 10.30.10.50  #host为被监控机的ip地址

查看监控状态
./pmm-admin list

登陆网页

去浏览器打开http://10.40.16.60:8080  #10.40.16.60为pmm-server的ip地址
出现下面界面,接下来就是各种指标查看了,摸索去吧,有问题欢迎大家留言

Percona Monitoring and Management (PMM) - 快速入门的更多相关文章

  1. Percona Monitoring and Management (PMM)安装使用

    一.docker安装 参考:http://www.cnblogs.com/liuyongsheng/articles/6595353.html 二.Percona Monitoring and Man ...

  2. mysql/mongodb监控之Percona Monitoring and Management (PMM) 2.1.0安装使用

    Percona Monitoring and Management (PMM)是Percona Server一款开源的用于管理和监控MySQL和MongoDB性能的开源平台,通过PMM客户端收集到的D ...

  3. 快速入门分布式消息队列之 RabbitMQ(2)

    目录 目录 前文列表 RabbitMQ 的特性 Message Acknowledgment 消息应答 Prefetch Count 预取数 RPC 远程过程调用 vhost 虚拟主机 插件系统 最后 ...

  4. OpenStack云计算快速入门之二:OpenStack安装与配置

    原文:http://blog.chinaunix.net/uid-22414998-id-3265685.html OpenStack云计算----快速入门(2) 该教程基于Ubuntu12.04版, ...

  5. Linux快速入门04-扩展知识

    这部分是快速学习的最后一部分知识,其中最重要的内容就是源码的打包和软件的安装的学习,由于个人的Linux学习目的就是自己能在阿里云Ubuntu上搭建一个简单的nodejs发布环境. Linux系列文章 ...

  6. 专为设计师而写的GitHub快速入门教程

    专为设计师而写的GitHub快速入门教程 来源: 伯乐在线 作者:Kevin Li     原文出处: Kevin Li 在互联网行业工作的想必都多多少少听说过GitHub的大名,除了是最大的开源项目 ...

  7. Activiti第一篇【介绍、配置开发环境、快速入门】

    Activiti介绍 什么是Activiti? Activiti5是由Alfresco软件在2010年5月17日发布的业务流程管理(BPM)框架,它是覆盖了业务流程管理.工作流.服务协作等领域的一个开 ...

  8. PXC快速入门

    1.快速入门 实验环境: Node Host IP Node1 pxc1 192.168.70.61 Node2 pxc2 192.168.70.62 Node3 pxc3 192.168.70.63 ...

  9. IdentityServer4 中文文档 -16- (快速入门)使用 EntityFramework Core 存储配置数据

    IdentityServer4 中文文档 -16- (快速入门)使用 EntityFramework Core 存储配置数据 原文:http://docs.identityserver.io/en/r ...

随机推荐

  1. Python备份脚本(Win10+Python2.7+PyCharm)

    说一下程序来源,是从<Python简明教程>上面看到的程序,试了一下之后,居!然!不!行!!! Google了老半天,也看了好多个博客,也未能解决. 除了一些基本语法问题.字符串中队'\' ...

  2. [译]OpenSSL Cookbook

    记录个人学习过程吧,顺便翻译一下.另外,本文并不会包括原连接中的所有内容,仅包括个人在工作中会经常遇到的. 参考:OpenSSL Cookbook 前言 由于协议特性和实现的复杂性,有时很难确定安全服 ...

  3. gitlab runner使用docker报错(x509: certificate signed by unknown authority)定位

    如果gitlab runner使用docker,docker是普通配置,配置好后,runner就可以正常执行任务了. 另外一个环节Docker配置了tls加密连接,添加runner后,runner的配 ...

  4. PHP 开发工程师基础篇 - PHP 数组

    数组 (Array) 数组是 PHP 中最重要的数据类型,可以说是掌握数组,基本上 PHP 一大半问题都可以解决. PHP 数组与其他编程语言数组概念不一样.其他编程语言数组是由相同类型的元素(ele ...

  5. ETCD:与etcd进行交互

    原文地址:Interacting with etcd 与etcd进行交互 用户更多的是通过putting或者是getting从etcd获取一个键对应的值.这一部分描述了如何通过etcdctl做这些工作 ...

  6. NuGet Install-Package 命令

    例: Install-Package CefSharp.Wpf -Version 73.1.130 Install-Package CefSharp.Common -Version 73.1.130 ...

  7. Winform中怎样在工具类中对窗体中多个控件进行操作(赋值)

    场景 需求是在窗体加载完成后掉用工具类的方法,工具类中获取窗体的多个控件对象进行赋值. 注: 博客主页: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 ...

  8. 资深程序员告诉你为什么要用Python3而不是Python2

    经常遇到这样的问题:<现在开始学习python的话,是学习python2.x还是学习python3.x比较好?>,这也是许多初学者会遇到的问题,我们的答案是python 3.x. 为了帮助 ...

  9. .Net Core权限认证基于Cookie的认证&授权.Scheme、Policy扩展

    在身份认证中,如果某个Action需要权限才能访问,最开始的想法就是,哪个Action需要权限才能访问,我们写个特性标注到上面即可,[TypeFilter(typeof(CustomAuthorize ...

  10. 关于javascript中变量及函数的提升

    javascript中变量以及函数的提升,在我们平时的项目中其实还是挺常用的,尤其是大型项目中,不知不觉就会顺手添加一些变量,而有时候自己的不小心就会酿成一些不必要错误,趁有时间整理一下自己对于js中 ...