• pmm最新版本v2.40.0尝鲜体验


    1 概述

    PMM 是一款免费开源的企业级的数据库监控工具,可用来监控 MySQL、MongoDB 和 PostgreSQL 等数据库。除了指标监控,针对MySQL还具备SQL语句的性能监控。
    官方地址是https://docs.percona.com/percona-monitoring-and-management,最新版本为v2.40.0。

    2 架构

    在这里插入图片描述
    在这里插入图片描述

    pmm是server-agent架构。
    master端是同时具备多个数据库的。pg是关系型数据库用于存储pmm元数据,vm是时序数据库用于存储指标数据,clickhouse用于存储SQL分析相关的数据。
    master端是包含一个agent守护进程和N个expoter。


    2 部署

    2.1 环境

    版本信息如下:
    a、操作系统:centos 7.6
    b、主机IP:192.168.0.70
    c、docker版本:20.10.5-3

    2.2 安装docker

    yum install -y yum-utils device-mapper-persistent-data lvm2
    yum install yum-utils -y
    yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    yum list docker-ce --showduplicates
    yum install docker-ce-cli-20.10.5-3.el7 docker-ce-20.10.5-3.el7 -y
    
    mkdir -p /etc/docker
    cat > /etc/docker/daemon.json << EOF
    {
          "registry-mirrors": ["https://bxsfpjcb.mirror.aliyuncs.com", "https://registry.docker-cn.com"],
          "max-concurrent-downloads": 10,
          "log-driver": "json-file",
          "log-level": "warn",
          "log-opts": {
              "max-size": "100m",
              "max-file": "3"
          },
           "live-restore": true,
          "exec-opts": ["native.cgroupdriver=systemd"]
    }
    EOF
    
    systemctl daemon-reload
    systemctl enable docker.service
    systemctl restart docker
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25

    2.3 部署pmm-server

    docker run -d --name pmm -p 8080:80 -p 8443:443 percona/pmm-server:2.40.0
    
    • 1

    在浏览器访问http://主机:8080即可进入grafana界面。
    在这里插入图片描述
    另外,此版本的pmm-server中的grafana的数据库默认已是pg。


    2.4 下载和安装pmm-client

    wget https://downloads.percona.com/downloads/pmm2/2.40.0/binary/redhat/8/x86_64/pmm2-client-2.40.0-6.el8.x86_64.rpm
    rpm -i pmm2-client-2.40.0-6.el8.x86_64.rpm
    
    • 1
    • 2

    pmm agent的工作目录是/usr/local/percona/pmm2,二进制命令位于/usr/local/percona/pmm2/bin目录下。
    在这里插入图片描述


    2.5 注册pmm-client

    export MYHOST=192.168.0.70
    pmm-admin config --server-insecure-tls --server-url=https://admin:admin@$MYHOST:8443
    
    • 1
    • 2

    pmm-admin命令执行成功后,pmm-agent的运行是由systemd来管理的,各种exporter都是pmm-agent的子进程。
    在这里插入图片描述


    2.6 部署mysql实例

    部署2个MySQL实例,分别是5.7版本和8.0版本。

    docker run -p 3306:3306 --name mysql-demo1 -e MYSQL_ROOT_PASSWORD=password -d mysql:5.7
    docker run -p 3307:3306 --name mysql-demo2 -e MYSQL_ROOT_PASSWORD=password -d mysql:8.0
    
    • 1
    • 2

    分别进入2个MySQL实例创建新账号,用于pmm组件对MySQL的访问。

    CREATE USER 'pmm_user'@'%' IDENTIFIED BY 'password';
    GRANT SELECT, PROCESS, SUPER, REPLICATION CLIENT, RELOAD ON *.* TO 'pmm_user'@'%';
    flush privileges;
    
    • 1
    • 2
    • 3

    2.7 添加mysql实例到pmm

    # 使用performance schema作为SQL分析模块的数据源
    # 要求MySQL 5.6.9或以上
    export MYHOST=192.168.0.70
    pmm-admin add mysql --query-source=perfschema --username pmm_user --password 'password' mysql-demo1 $MYHOST:3306
    pmm-admin add mysql --query-source=perfschema --username pmm_user --password 'password' mysql-demo2 $MYHOST:3307
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述


    3 grafana界面

    在这里插入图片描述
    在这里插入图片描述


    小结

    本文通过docker方式部署pmm-server和数据库实例、通过二进制方式部署pmm-agent,可让DBA工程师快速初窥pmm监控。

  • 相关阅读:
    rauth,一个强大的Python库!
    Mysql——》索引存储模型推演
    不一样的申报!2022年湖北省制造业单项冠军企业(产品)奖励标准以及申报条件
    数据结构.多项式加法
    K8s集群 实现集群业务是否对外暴露的控制 (多LB实施方案)
    在SpringBoot中如何整合消息服务组件?
    net基于asp.net的高校学生奖励管理系统
    四、IPSec NAT穿越
    Flutter 使用FFI+CustomPainter实现全平台渲染视频
    OpenAI、蚂蚁集团、谷歌、科大讯飞等联合编制大模型安全国际标准,已正式发布
  • 原文地址:https://blog.csdn.net/nangonghen/article/details/133765735