MySQL监控方案PMM之PMM Server的安装

1 PMM介绍

Percona Monitoring and Management(PMM)是一个开源的用于管理和监控MySQL、MongoDB和PostgreSQL性能的平台。它由Percona与托管数据库服务,支持和咨询领域的专家合作开发。PMM旨在为MySQL和MongoDB服务器提供全面的基于时间的分析,以确保数据尽可能高效地工作。

PMM平台基于简单的客户端-服务器模型,可实现高效的可扩展性。它包括以下模块:

  • PMM Client:安装在每个要监视的数据库主机上。它收集服务器指标,一般系统指标和查询分析数据,以获得完整的性能概述。收集的数据发送到PMM服务器。
  • PMM Server:PMM的核心部分,它聚合收集的数据,并以Web界面的表格,仪表板和图形的形式呈现。
    PMM提供了对MyISAM、InnoDB、TokuDB和PXC/Glarera的监控,另外也提供了Query Analytics的功能,可以检视执行了哪些SQL指令,并对执行效能较差的语法进行优化。另外在新版本还支持了MySQL复制拓扑图结构构造。

PMM针对操作系统的部分也提供了硬盘、网络、CPU和RAM的监控,特别的是它提供了Context switches、Processes和interrupts的监控,Context Switches可以看到CPU上下切换文的状况,Processes可以方便了解系统有多少程序在等待I/O。

此外,PMM通过PMM客户端收集到的DB监控数据可以用第三方软件Grafana进行画图展示。

架构图如下:

MySQL监控方案PMM之PMM Server的安装_第1张图片

更详细的介绍请参考官方文档:https://docs.percona.com/percona-monitoring-and-management/index.html

2 安装PMM Server

官方提供了多种安装方式,优缺点如下:

MySQL监控方案PMM之PMM Server的安装_第2张图片

最常用的方式是Docker。

1)安装docker

参考文章:http://t.csdnimg.cn/N752u

如果你的机器可以连接外网的,用yum安装比较方便快捷。但是工作中的机器一般是内网环境,无法连互联网,所以只能通过二进制包安装。

2)下载PMM Server镜像

docker hub地址:https://hub.docker.com/r/percona/pmm-server

[root@zabbix6 ~]# docker pull percona/pmm-server:2

这里下载的是pmm-server2.x的最新版本。如果要下载最新版本可以改为执行:

docker pull percona/pmm-server:latest

3)创建持久数据卷容器

单独建数据卷容器的好处主要包括以下几点:

  • 数据持久性:容器数据卷允许容器中的数据在容器被删除或重启后仍然存在,这可以确保数据在容器生命周期内得到保护和持久化存储。
  • 数据共享:容器数据卷允许多个容器共享同一个数据卷,这可以方便地共享应用程序和数据。
  • 数据安全性:使用容器数据卷将宿主机的目录或文件挂载到容器中,可以避免在容器中存储敏感数据,提高数据安全性和保密性。
  • 容器可移植性:使用容器数据卷使容器代码和数据分离,这使得容器的迁移变得更加简单和便捷。
  • 数据备份:使用容器数据卷可以简化数据备份过程,可以轻松地备份和还原数据。

就算有人误删了你的PMM-Server容器,有数据也可以进行恢复,不至于从删容器到跑路

1.创建容器数据卷:

[root@zabbix6 srv]# 
docker create --volume /srv \
--name pmm-data \
percona/pmm-server:2 /bin/true

PMM Server指定的数据卷为/srv,使用其他卷将导致升级时数据丢失。

command介绍:

  • docker create:创建一个新容器;
  • –volume:绑定挂载卷/srv;
  • –name:为容器指定一个名称pmm-data;
  • pmm-data percona/pmm-server:2:镜像名;
  • /bin/true:设置退出码为0,在Linux底下,每一个程序执行完毕都会返回一个退出码,通常状况下0表示成功。

以上命令介绍可以通过执行docker --help查看。

2.检查服务器和数据容器挂载点:

[root@zabbix6 srv]# docker inspect pmm-data | egrep "Destination|Source"
                "Source": "/var/lib/docker/volumes/c08c5a4898c3a2340edc40ae531a6400e4e292d1b9a754fc66622475356a0413/_data",
                "Destination": "/srv",

参数介绍:

  • Destination:容器内目录;
  • Source:对应宿主机目录。

检查下宿主机目录:

[root@zabbix6 _data]# ls /var/lib/docker/volumes/
alerting  alertmanager  backup  clickhouse  grafana  logs  nginx  pmm-distribution  postgres14  prometheus  victoriametrics

4)创建并启动PMM Server容器

[root@zabbix6 _data]# 
docker run --privileged --detach --restart always \
--publish 443:443 \
--volumes-from pmm-data \
--name pmm-server \
percona/pmm-server:2

command介绍:

  • docker run: 用于启动一个或多个容器。
  • –detach: 容器将在后台运行并返回容器ID。
  • –restart always: 指定重启策略,当容器退出时,该参数确保容器始终自动重新启动。
  • –publish 443:443: 端口映射,冒号前是宿主机的端口,冒号后是容器内部的端口。任何访问宿主机的443端口的请求都会被转发到容器的相应端口。
  • –volumes-from pmm-data: 引用pmm-data容器中的数据卷。
  • –name pmm-server: 新创建的容器的名称pmm-server。
  • percona/pmm-server:2: 要运行的Docker镜像的名称。

5)查看容器运行情况

[root@zabbix6 ~]# docker ps
CONTAINER ID   IMAGE                  COMMAND                CREATED          STATUS                    PORTS                          NAMES
c99a87c5718b   percona/pmm-server:2   "/opt/entrypoint.sh"   18 minutes ago   Up 18 minutes (healthy)   80/tcp, 0.0.0.0:443->443/tcp   pmm-server

6)在web浏览器中查看PMM用户界面

访问 https://ip:443 在web浏览器中查看PMM用户界面,ip为PMM Server的地址。

MySQL监控方案PMM之PMM Server的安装_第3张图片

默认的用户名和密码都是admin,第一次登录会提示修改密码。

首页如下:

MySQL监控方案PMM之PMM Server的安装_第4张图片

至此,PMM Server搭建完成。

【关联文章】

1) MySQL监控方案PMM之PMM Server的安装
2)一个PMM Server部署问题解决办法
3)MySQL监控方案PMM之PMM Client的安装
4)PMM添加MySQ监控服务

你可能感兴趣的:(mysql,docker,linux)