• pmm 监控mysql、mongodb、系统


    Pmm监控

    1、概述

    Pmm是(percona management and monitoring)一款用于数据库(mysqlmongodb)的监控工具,是一种典型的C/S架构。本次部署采用的是dockerpmm-server端包括数据汇集、展示等,pmm-client主要是部署在需要监控的服务器上,用于数据收集。Pmm-server比较占系统资源,建议将其安装在单独一台服务器上面或安装在一台性能比较好的服务器上。

     

    2、部署server

    系统环境:centos7.2

    Docker1.12+

    安装docker(如果已经安装,则跳过此步骤)

    # yum –y install docker

    #chkconfig docker on

    1)首先部署一个PMM的数据容器,此容器仅用于数据存储,不用运行。只需升级到较新的pmm服务器映像时,确保您保留所有PMM数据。不要删除或重新创建此容器,除非您打算清除所有PMM数据并重新开始。

    #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.2.0 /bin/true

    2)运行pmm-server容器

    # docker run -d -p 2112:80 
    --volumes-from pmm-data 
    --name pmm-server 
    -e SERVER_USER=mytest -e SERVER_PASSWORD=test123 
    -e ORCHESTRATOR_USER=orc -e ORCHESTRATOR_PASSWORD=orc
     --restart always
     percona/pmm-server:1.2.0
     

    直接加载镜像,可能会出现超时的报错。选一台网络较好的服务器先将镜像pull下来,在运行容器。

    # docker  pull  percona/pmm-server:1.2.0

    # docker save percona/pmm-server:1.2.0  >percona.tar

    copy到目标服务器:

    # scp –p 26622  percona.tar  192.168.30.240:/data

    加载镜像:

    # load < percona.tar

    @服务运行的端口为2112,由于暴漏80不安全,所以应设为2112端口,可以自己定义。

    3)验证服务是否启动成功

     

     

    Component

     

     

    URL

    PMM landing page

    http:// 192.168.30.240:port

    Query Analytics (QAN web app)

    http:// 192.168.30.240/qan/

    Metrics Monitor (Grafana)

    http:// 192.168.30.240/graph/User name: admin Password: admin

    Orchestrator

    http:// 192.168.30.240/orchestrator

     

    3、部署pmm-client

    1)配置pmm-clientyum源:

    # yum install https://www.percona.com/redir/downloads/percona-release/redhat/latest/percona-release-0.1-4.noarch.rpm

    # yum –y  install pmm-client

      

    2)安装成功后,配置连接pmm-server

       # pmm-admin config --server 192.168.30.240 --server-user mytest --server-password test123

     

      3)检查clientserver是否通信成功

    # pmm-admin check-network

     

    4、添加监控内容

    1)监控服务器

    # pmm-admin add linux:metrics --service-port 42000 主机名

     

    2)监控mysql

    #主数据库添加监控用户并授权(该用户名和密码会同步到从库,切记不要在从库授权)

    MariaDB [(none)]> grant SELECT,RELOAD,SUPER,PROCESS,REPLICATION CLIENT on *.* to pmm@"127.0.0.1" identified by 'xxxxxxxxxx';

    添加监控:

    #pmm-admin add mysql --service-port 42002 --user pmm --password xxxxxx --host 127.0.0.1 --port 3306  主机名 --query-source slowlog

     

    3)监控mongodb

    #pmm-admin add mongodb  --service-port 42003 --uri mongodb://用户名:密码@127.0.0.1:27017/admin

     

    #pmm-admin add mongodb:metrics  --service-port 42003 --uri mongodb://用户名:密码@127.0.0.1:27017/admin

    #第一个会添加服务器和mongodb两个监控,第二个只会监控mongodb--service-port 指定服务端口。

    5、常用的命令

    # 添加监控服务
    pmm-admin add
    # 检查PMM客户端和PMM服务器之间的网络连接。
    pmm-admin check-network
    # 配置PMM Client如何与PMM服务器通信。
    pmm-admin config
    # 打印任何命令和退出的帮助
    pmm-admin help
    # 打印有关PMM客户端的信息
    pmm-admin info
    # 出为此PMM客户端添加的所有监控服务
    pmm-admin list
    # 检查PMM服务器是否存活
    pmm-admin ping
    # 检查PMM服务器是否存活。
    pmm-admin purge
    # 清除PMM服务器上的度量数据
    pmm-admin remove, pmm-admin rm
    # 删除监控服务
    pmm-admin repair
    # 重启pmm
    pmm-admin restart
    # 打印PMM Client使用的密码
    pmm-admin show-passwords
    # 开启监控服务
    pmm-admin start
    # 停止监控服务
    pmm-admin stop
    # 在卸载之前清理PMM Client
    pmm-admin uninstal

    6、升级pmm-server

     # pull最新的pmm-server的镜像,将现有的服务停掉,再以新的镜像启动。

     # docker pull percona/percona-server-1.2.2

     # docker stop pmm-server

     # docker run -d -p 2112:80 
    --volumes-from pmm-data 
    --name pmm-server 
    -e SERVER_USER=mytest -e SERVER_PASSWORD=test123 
    -e ORCHESTRATOR_USER=orc -e ORCHESTRATOR_PASSWORD=orc
     --restart always
     percona/pmm-server:1.2.2

     

    7、访问:ip:port

    需要登录用户名和密码:就是启动server是指定的—server-user mytest—server-password test123

     

     

     

    问题:

     没有数据,??

     部署完成后,需要稍等一会,数据才会同步过去。

      如果长时间没有数据展示出来,就需要查看,用户权限、pmm-clientpmm-server是否正常通信等。

  • 相关阅读:
    leetcode每日刷题计划-简单篇day28
    leetcode每日刷题计划-简单篇day27
    leetcode每日刷题计划-简单篇day26
    leetcode每日刷题计划-简单篇day25
    java多线程--大作业相关
    leetcode每日刷题计划-简单篇day24
    leetcode每日刷题计划-简单篇day23
    SpringBoot集成JWT实现token验证
    RabbitMQ 延迟队列,消息延迟推送的实现
    Redis精进:List的使用和应用场景
  • 原文地址:https://www.cnblogs.com/cuishuai/p/7528356.html
Copyright © 2020-2023  润新知