7.Percona监控与管理

Percona监控和管理(PMM)是一个用于管理和监控MySQL和MongoDB性能的开源平台。它由Percona与支持和咨询领域的专家合作开发。

PMM是一个免费的开源解决方案,您可以在自己的环境中运行,以实现最大的安全性和可靠性。它为MySQL和MongoDB服务器提供全面的基于时间的分析,以确保您的数据尽可能高效地工作。

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

PMM Client安装在您要监视的每个数据库主机上。它收集服务器指标,一般系统指标和查询分析数据,以获得完整的性能概述。

PMM服务器是 PMM的核心部分,它聚合收集的数据,并以Web界面的表格,图形的形式呈现。

PMM是无缝协同工作的工具集合。一些是由Percona开发的,一些是第三方开源工具。

PMM Client and Server 组成图

PMM客户端软件包包含以下内容:

pmm-admin是一个用于管理PMM Client的命令行工具,例如,添加和删除要监视的数据库实例。

pmm-mysql-queries-0是一种管理查询分析(QAN)代理的服务,因为它从MySQL收集查询性能数据,并将其发送到PMM服务器上的QAN API 。

pmm-mongodb-queries-0是管理QAN代理的服务,它从MongoDB收集查询性能数据,并将其发送到PMM服务器上的QAN API 。

node_exporter是收集一般系统指标接口。有关详细信息,请参阅https://github.com/percona/node_exporter。

mysqld_exporter是收集MySQL服务器指标的接口。有关详细信息,请参阅https://github.com/percona/mysqld_exporter。

mongodb_exporter是收集MongoDB服务器指标的接口。有关详细信息,请参阅https://github.com/percona/mongodb_exporter。

proxysql_exporter是收集ProxySQL性能指标的接口。有关详细信息,请参阅https://github.com/percona/proxysql_exporter。

在Red Hat和CentOS上安装PMM客户端

sudo yum install pmm-client

PMM服务器将作为您的中央监控主机的机器运行,它通过以下方式作为设备分发:

可以用于运行容器的Docker映像

打开虚拟设备(OVA),您可以在VirtualBox或其他管理程序中运行

您可以通过Amazon Web Services(AWS)运行的Amazon Machine Image(AMI)

PMM服务器由以下工具组成:

查询分析(QAN,Query Analytics)使您能够在一段时间内分析MySQL查询性能。除客户端QAN代理外,还包括以下内容:

QAN API是用于存储和访问在PMM客户端上运行的QAN代理收集的查询数据的后端。

QAN Web App是用于可视化收集的Query Analytics数据的Web应用程序。

度量监视器(MM,Metrics Monitor)提供对MySQL或MongoDB服务器实例至关重要的度量的历史视图。它包括以下内容:

Prometheus 是一个第三方时间序列数据库,连接到在PMM客户端上运行的接口, 并汇总收集的指标。

Consul 提供一个PMM客户端可以远程列出,添加和删除主机的API 。它还存储监控元数据。

Grafana是一个第三方仪表板和图形构建器,用于在直观的Web界面中可视化汇总的数据。

Orchestrator是MySQL复制拓扑管理和可视化工具。

PMM服务器将收集的数据的后端API和存储器与前端相结合,用于查看基于时间的图表,并通过Web界面对您的MySQL和MongoDB主机进行彻底的分析。在您将用于访问此数据的主机上运行它。

PMM首面 http://192.168.55.27/

查询分析(QAN网络应用) http://192.168.55.27/qan/

指标监视器(Grafana) http://192.168.55.27/graph/

用户名: admin

密码: admin

Orchestrator http://192.168.55.27/orchestrator

使用Docker运行PMM服务器

PMM服务器的 Docker映像公开托管在https://hub.docker.com/r/percona/pmm-server/。

如果要从Docker映像运行PMM Server,则主机必须能够运行Docker 1.12.6或更高版本,并具有网络访问权限。

安装PMM Server

获取PMM服务器映像

docker pull percona/pmm-server:latest

mkdir -p /opt/{prometheus,consul-data}

mkdir -p /opt/prometheus/data

mkdir -p /var/lib/grafana

创建一个持久的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:latest / bin / true

此容器不运行,它只是存在,以确保您在升级到较新的pmm-server映像时保留所有PMM数据。不要删除或重新创建此容器,除非您打算清除所有PMM数据并重新开始。

该命令指示Docker守护程序从映像创建容器。docker create

该-v选项初始化数据卷的容器。

该--name选项为您可以用于引用Docker网络中的容器分配一个自定义名称。在这种情况下:pmm-data。

percona/pmm-server:latest 是导出容器的图像的名称和版本标签。

/bin/true 是容器运行的命令。

创建并运行PMM服务器容器

docker run -d -p 80:80 --volumes-from pmm-data --name pmm-server --restart always percona/pmm-server:latestFdas

该命令指示守护程序从映像运行容器。docker rundocker

该-d选项在分离模式(即后台)中启动容器。

该-p选项映射用于访问PMM服务器 Web UI 的端口。例如,如果端口80不可用,则可以使用登陆页面映射到端口8080 。-p 8080:80

该--volumes-from选项从pmm-data容器中装载卷(请参阅步骤2.创建一个PMM数据容器)。

该--name选项为您可以用于引用Docker网络中的容器分配一个自定义名称。在这种情况下:pmm-server。

该--restart选项定义容器的重新启动策略。设置它以always确保Docker守护程序在启动时启动容器,并在容器退出时重新启动它。

percona/pmm-server:latest 是导出容器的图像的名称和版本标签。

通过使用运行容器主机的IP地址连接到PMM Web界面来验证PMM服务器是否正在运行,然后在要监视的所有数据库主机上安装PMM Client,安装参照上面的安装方法。

将pmm client连接到 pmm server ,并设置各连接名

pmm-admin config --server 192.168.55.27 --client-name=node1

pmm-admin config --server 192.168.55.27 --client-name=node2

pmm-admin config --server 192.168.55.27 --client-name=node3

pmm-admin config --server 192.168.55.27 --client-name=mysql

收集各客户端实例的数据信息到 pmm server

要启用一般系统指标,MySQL指标和MySQL查询分析,请运行:

pmm-admin add mysql --user=root --password=223238 --host=localhost --port=3300

要启用ProxySQL性能指标,请运行:

pmm-admin add proxysql:metrics

要查看正在监控的内容,请运行:

sudo pmm-admin list

results matching ""

    No results matching ""