系统选择: centos 7.2
    关闭防火墙:
    systemctl stop firewalld.service
    systemctl disable firewalld.service
    起用转发:
    # vi /usr/lib/sysctl.d/00-system.conf
    添加如下代码:
    重启network服务
    # systemctl restart network
    查看是否修改成功
    # sysctl net.ipv4.ip_forward
    如果返回为“net.ipv4.ip_forward = 1”则表示成功了
   
pmm-server 安装:
   pmm官方文档:

    Pmm 组成: https://www.percona.com/doc/percona-monitoring-and-management/architecture.html

    PMM 安装: https://www.percona.com/doc/percona-monitoring-and-management/deploy/server/docker.html#run-server-docker

   相关开源项目:
      https://www.sqlite.org/atomiccommit.html
      https://github.com/prometheus

   1.安装DOCKER,RPM包的名字是docker-io
     yum install docker -y
 
   2.启动docker
     service docker start
     ps -ef |grep docker
 
   3.创建容器的数据磁盘
     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   
     //默认本地不存pmm-server,会从官网下载 ,但是会很慢
   
    容器卷在宿主机的目录位置:
    docker inspect pmm-data
 
       "Mounts": [
            {
                "Name": "134874af6736c9065c504d084eb0b754507da23a212cd90524d35463dcff8c54",
                "Source": "/var/lib/docker/volumes/134874af6736c9065c504d084eb0b754507da23a212cd90524d35463dcff8c54/_data",
                "Destination": "/var/lib/mysql",
                "Driver": "local",
                "Mode": "",
                "RW": true,
                "Propagation": ""
            },
            {
                "Name": "3d03268806f49143f8051aefc8ebef047ceeeeea24c5fe2828e06e0b08b36f6e",
                "Source": "/var/lib/docker/volumes/3d03268806f49143f8051aefc8ebef047ceeeeea24c5fe2828e06e0b08b36f6e/_data",
                "Destination": "/opt/consul-data",
                "Driver": "local",
                "Mode": "",
                "RW": true,
                "Propagation": ""
            },
            {
                "Name": "47dde5e315f8123018a485d8a922d060761a508b9958bc5e8c38f4b934152321",
                "Source": "/var/lib/docker/volumes/47dde5e315f8123018a485d8a922d060761a508b9958bc5e8c38f4b934152321/_data",
                "Destination": "/opt/prometheus/data",
                "Driver": "local",
                "Mode": "",
                "RW": true,
                "Propagation": ""
            },
            {
                "Name": "4faad60a6619be2f2aa29c34dd8630427cd70810d849a21bc26733b3970dfb6b",
                "Source": "/var/lib/docker/volumes/4faad60a6619be2f2aa29c34dd8630427cd70810d849a21bc26733b3970dfb6b/_data",
                "Destination": "/var/lib/grafana",
                "Driver": "local",
                "Mode": "",
                "RW": true,
                "Propagation": ""
            }
        ],
   
  4.创建容器的运行实例:
    docker run -d \
    -p 80:80 \
    --volumes-from pmm-data \
    --name pmm-server \
    --restart always \
   
 
    容器卷在宿主机的目录位置:
 
     docker inspect pmm-server
     "Mounts": [
            {
                "Name": "47dde5e315f8123018a485d8a922d060761a508b9958bc5e8c38f4b934152321",
                "Source": "/var/lib/docker/volumes/47dde5e315f8123018a485d8a922d060761a508b9958bc5e8c38f4b934152321/_data",
                "Destination": "/opt/prometheus/data",
                "Driver": "local",
                "Mode": "",
                "RW": true,
                "Propagation": ""
            },
            {
                "Name": "4faad60a6619be2f2aa29c34dd8630427cd70810d849a21bc26733b3970dfb6b",
                "Source": "/var/lib/docker/volumes/4faad60a6619be2f2aa29c34dd8630427cd70810d849a21bc26733b3970dfb6b/_data",
                "Destination": "/var/lib/grafana",
                "Driver": "local",
                "Mode": "",
                "RW": true,
                "Propagation": ""
            },
            {
                "Name": "134874af6736c9065c504d084eb0b754507da23a212cd90524d35463dcff8c54",
                "Source": "/var/lib/docker/volumes/134874af6736c9065c504d084eb0b754507da23a212cd90524d35463dcff8c54/_data",
                "Destination": "/var/lib/mysql",
                "Driver": "local",
                "Mode": "",
                "RW": true,
                "Propagation": ""
            },
            {
                "Name": "3d03268806f49143f8051aefc8ebef047ceeeeea24c5fe2828e06e0b08b36f6e",
                "Source": "/var/lib/docker/volumes/3d03268806f49143f8051aefc8ebef047ceeeeea24c5fe2828e06e0b08b36f6e/_data",
                "Destination": "/opt/consul-data",
                "Driver": "local",
                "Mode": "",
                "RW": true,
                "Propagation": ""
            }
        ],
 
    更改面板数据sqlite库存储类型为MYSQL(容器自带)
    [root@workstation2017 ~]# docker exec -i -t pmm-server /bin/bash
    [root@86b5c5955521 opt]# vi /etc/grafana/grafana.ini
     查/sqlite 改为MYSQL 存储
     type=mysql
     name=grafana
     user=root
     password =
     在容器进入mysql客户端,创建数据库grafana,
     create database grafana;
    
     生效:
     docker restart pmm-server
    // 默认面板监控数据数据保在  /var/lib/grafana/grafana.db  
 
PMM client 安装:
    [root@workstation2017 ~]# service mysql start
    Redirecting to /bin/systemctl start  mysql.service
    下载与PMM SERVER 一致的 PMM client
    https://www.percona.com/downloads/pmm-client/
   
    配制:
    [root@workstation2017 ~]# pmm-admin config --server 192.168.79.220
    OK, PMM server is alive.
    PMM Server      | 192.168.79.220
    Client Name     | workstation2017
    Client Address  | 192.168.79.220
 
    开始监控:
    pmm-admin add mysql --query-source perfschema  --user root --password xx
    
    WEB访问页面并配制相关值:
    http://192.168.79.220/graph
 
    data sources--->edit data source
       config:
          填入:
          name:prometheus
          type:prometheus
       http settings:加入
          http://127.0.0.1:9090/prometheus
    dashboards-->import
    点选导入import json文件
   
操作目的:监控指定的Metrics,减少系统的统计负载,并采用MYSQL作为存储后端  
详细操作如下:
json文件容器导出到宿主机的目录上,并在WEB 面板中导入
[root@f3e8318c8d7c dashboards]# pwd
/usr/share/percona-dashboards/dashboards
[root@f3e8318c8d7c dashboards]# ls
Amazon_RDS_OS_Metrics.json    MongoDB_Overview.json               MySQL_Performance_Schema.json      Prometheus.json
Cross_Server_Graphs.json      MongoDB_ReplSet.json                MySQL_Query_Response_Time.json     ProxySQL_Overview.json
Disk_Performance.json         MongoDB_RocksDB.json                MySQL_Replication.json             Summary_Dashboard.json
Disk_Space.json               MongoDB_WiredTiger.json             MySQL_Table_Statistics.json        System_Overview.json
MariaDB.json                  MySQL_InnoDB_Metrics.json           MySQL_TokuDB_Metrics.json          Trends_Dashboard.json
MongoDB_Cluster_Summary.json  MySQL_InnoDB_Metrics_Advanced.json  MySQL_User_Statistics.json
MongoDB_InMemory.json         MySQL_MyISAM_Metrics.json           PXC_Galera_Cluster_Overview.json
MongoDB_MMAPv1.json           MySQL_Overview.json                 PXC_Galera_Graphs.json
 
拷到宿主机的目录中:
[root@workstation2017 ~]# docker cp f3e8318c8d7c:/usr/share/percona-dashboards/dashboards /soft/
然后用XSHELL 拷到WINDOW目录下
在主机WEB界面中
在导入框中加入MySQL_InnoDB_Metrics.json
dashboard ---> import---> MySQL_InnoDB_Metrics.json
即可全部配制完成
 
 
PMM-SERVER 与 PMM-CLIENT 互联检测
   gui: http://192.168.79.220:80/prometheus/targets
   command: pmm-admin check-network
            pmm-admin list
EG:
[root@workstation2017 ~]#   pmm-admin check-network
PMM Network Status
Server Address | 192.168.79.220
Client Address | 192.168.79.220
* System Time
NTP Server (0.pool.ntp.org)         | 2017-07-24 22:57:08 -0400 EDT
PMM Server                          | 2017-07-25 02:57:08 +0000 GMT
PMM Client                          | 2017-07-24 22:57:08 -0400 EDT
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 | 465.152µs
Request duration    | 1.000382ms
Full round trip     | 1.465534ms
* Connection: Client <-- Server
-------------- ---------------- --------------------- ------- ---------- ---------
SERVICE TYPE   NAME             REMOTE ENDPOINT       STATUS  HTTPS/TLS  PASSWORD
-------------- ---------------- --------------------- ------- ---------- ---------
linux:metrics  workstation2017  192.168.79.220:42000  OK      YES        -       
mysql:metrics  workstation2017  192.168.79.220:42002  OK      YES        -   

PMM 对MYSQL 的监控配制的更多相关文章

  1. mysql服务器监控参数总结

    1)主机健康监控:网络通信.软硬件错误.磁盘空间.内存使用 2)mysql健康监控: 服务端口(telnet尝试连接).mysqld和mysqld_safe进程.errorlog和复制状态 3)主机性 ...

  2. MySQL数据库监控

    MySQL MTOP由PHP和Python开发,所以监控机需要安装PHP运行环境和Python环境.需要的核心包如下: 1.MySQL 5.0及以上(用来存储监控系统采集的数据) 2.Apache 2 ...

  3. 论MySQL的监控和调优

    懂PHP的人一般都懂MySQL这一点不假,大多数书籍里也是这样,书中前面讲PHP后面到数据库这块就会讲到MySQL的一些知识,前几年MySQL一直是PHP书籍的一部分,后来开始从国外翻译了一些专门讲述 ...

  4. MySQL 性能监控 4 大指标

    [编者按]本文作者为 John Matson,主要介绍 mysql 性能监控应该关注的 4 大指标. 文章系国内 ITOM 管理平台 OneAPM 编译呈现.    MySQL 是什么? MySQL  ...

  5. MySQL 性能监控4大指标——第二部分

    [编者按]本文作者为 John Matson,主要介绍 mysql 性能监控应该关注的4大指标. 第一部分介绍了前两个指标:查询吞吐量与查询执行性能.本文将继续介绍另两个指标:MySQL 连接与缓冲池 ...

  6. MySQL 性能监控4大指标——第一部分

    [编者按]本文作者为 John Matson,主要介绍 mysql 性能监控应该关注的4大指标. 第一部分将详细介绍前两个指标: 查询吞吐量与查询执行性能.文章系国内 ITOM 管理平台 OneAPM ...

  7. 对正在运行的mysql进行监控

    对正在运行的mysql进行监控,其中一个方式就是查看mysql运行状态. (1)QPS(每秒Query量) QPS = Questions(or Queries) / seconds mysql &g ...

  8. zabbix-2.4.8-1添加MySQL状态监控

    1.安装zabbix-agentyum -y install zabbix-2.4.8-1.el6.x86_64.rpm zabbix-agent-2.4.8-1.el6.x86_64.rpm 安装以 ...

  9. 普通用户Mysql 5.6.13 主从,主主及nagios的mysql slave监控

    Master:192.168.209.19 Slave:192.168.209.20 mysql版本:mysql5.6.13 1. 以root身份创建普通用户,如mysql,并创建mysql安装目录: ...

随机推荐

  1. mysql基本操作(一)

    1.登录mysql mysql -h localhost -u root -p  登录mysql,其中  -h是指定要连接mysql服务器的主机名    -u是指定用户   -次数登录必须用-p输入密 ...

  2. 【Android】Android apk默认安装位置设置

    在Android工程中,设置apk的默认安装位置 在AndroidManifest.xml文件Manifest标签中添加android:installLocation属性 android:instal ...

  3. day9.初始函数练习题

    1.写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者. def new(args): a = [] for I in range(1,len(args),2) ...

  4. bug管理

    BUG提交规范 1.标题 2.步骤描述 ①.步骤使用序号编排 ②.在特定情况下发生的问题,还需提供准确的前提条件 ③.精准的描述bug产生的路径后,再描述现象 如: >打开客户端进行首页-> ...

  5. Validation failed for object='employee'. Error count: 1问题解决

    2018-11-13 在表单提交时有时候会提示 Validation failed for object=’user’. Error count: 1,其中user是表的名字,Error count是 ...

  6. TensorFlow加载图片的方法

    方法一:直接使用tensorflow提供的函数image = tf.gfile.FastGFile('PATH')来读取一副图片: import matplotlib.pyplot as plt; i ...

  7. poj 2502 Subway【Dijkstra】

    <题目链接> 题目大意: 某学生从家到学校之间有N(<200)条地铁,这个学生可以在任意站点上下车,无论何时都能赶上地铁,可以从一条地铁的任意一站到另一条地跌的任意一站,学生步行速度 ...

  8. hdu1429 胜利大逃亡(续) 【BFS】+【状态压缩】

    题目链接:https://vjudge.net/contest/84620#problem/K 题目大意:一个人从起点走到终点,问他是否能够在规定的时间走到,在走向终点的路线上,可能会有一些障碍门,他 ...

  9. SNMP弱口令漏洞的使用

    如果能获取只读(RO)或读/写(RW)权限的团体字符串,将对你从设备中提取信息发挥重要作用,snmp v1 v2天生存在安全缺陷,snmp v3中添加了加密功能提供了更好的检查机制,增强了安全性为了获 ...

  10. B. Divisiblity of Differences

    B. Divisiblity of Differencestime limit per test1 secondmemory limit per test512 megabytesinputstand ...