使用Percona Monitoring and Management监控mysql

1,356 阅读3分钟

Percona Monitoring and Management

Percona Monitoring and Management (PMM) 是 MySQL、PostgreSQL 和 MongoDB 的开源数据库监控、管理和可观测性解决方案。它允许您观察数据库系统的运行状况,探索其行为的新模式,对其进行故障排除并执行数据库管理操作,无论它们位于本地还是云中的哪个位置。

服务端安装

开放端口

这是 PMM 的各个组件使用的端口列表。

要使 PMM 正常工作,系统的防火墙应允许这些端口上的 TCP 流量(不需要 UDP)。

要公开的端口:

永磁复用组件TCP端口方向描述
PMM 服务器80HTTP 服务器,用于通过 HTTP 和 Web 界面进行 gRPC(不安全,请谨慎使用)。
PMM 服务器443HTTPS 服务器,用于基于 HTTPS 和 Web 界面的 gRPC(安全,强烈建议使用 SSL 证书)。

其他端口:

永磁复用组件TCP端口方向描述
PMM 服务器7771gRPC,用于 之间的通信。pmm-agent``pmm-admin
PMM 服务器7772HTTP1 服务器,用于较旧的链接,如 .logs.zip
PMM 服务器7773调试。
pmm-agent7777默认侦听端口。pmm-agent
vm-agent8428维多利亚计量端口。
pmm-agent42000 - 51999已连接代理的默认范围。pmm-agent

使用docker安装

  • 1 快速安装可以直接使用脚本
wget -O - https://www.percona.com/get/pmm | /bin/bash

脚本会知道安装docker,server等

  • 2 手动安装
开始之前
  • 安装 Docker 1.12.6 或更高版本。
  1. 拉取映像。

    docker pull percona/pmm-server:2
    
  2. 创建卷:

    docker volume create pmm-data
    
  3. 运行映像:

    docker run --detach --restart always \
    --publish 443:443 \
    -v pmm-data:/srv \
    --name pmm-server \
    percona/pmm-server:2
    
  4. 访问以在 Web 浏览器中查看 PMM 用户界面。(如果要远程访问 docker 主机,请替换为主机的 IP 或服务器名称。https://localhost:443,默认账号admin、密码admin。

image.png

在安装了数据库的机器安装客户端

  • 基于 Debian 配置存储库。
wget https://repo.percona.com/apt/percona-release_latest.generic_all.deb
dpkg -i percona-release_latest.generic_all.deb

安装 PMM 客户端软件包。

apt update
apt install -y pmm2-client

检查

pmm-admin --version
  • 基于红帽

配置存储库

yum install -y https://repo.percona.com/yum/percona-release-latest.noarch.rpm

安装 PMM 客户端软件包

yum install -y pmm2-client

检查

pmm-admin --version

注册到服务端

向 PMM 服务器注册您的客户端节点。

pmm-admin config --server-insecure-tls --server-url=https://admin:admin@X.X.X.X:443
  • X.X.X.X是 PMM 服务器的地址。

  • 443是默认端口号。

  • admin/admin是默认的 PMM 用户名和密码。此帐户与您用于登录 PMM 用户界面的帐户相同,您可以在首次登录时选择更改该界面。

  • 例子

使用默认用户名和密码在 PMM 服务器上注册 IP 地址,使用具有 IP 地址、类型和名称的节点。192.168.33.14``admin/admin``192.168.33.23``generic``mynode

pmm-admin config --server-insecure-tls --server-url=https://admin:admin@192.168.33.14:443 192.168.33.23 generic mynode

mysql 监控配置

为 PMM 创建数据库帐户

最好使用非超级用户帐户将 PMM 客户端连接到受监控的数据库实例。此示例创建一个具有名称、密码和必要权限的数据库用户。pmm``pass

在 MySQL 8.0 上

CREATE USER 'pmm'@'localhost' IDENTIFIED BY 'pass' WITH MAX_USER_CONNECTIONS 10;
GRANT SELECT, PROCESS, REPLICATION CLIENT, RELOAD, BACKUP_ADMIN ON *.* TO 'pmm'@'localhost';

在 MySQL 5.7 上

CREATE USER 'pmm'@'localhost' IDENTIFIED BY 'pass' WITH MAX_USER_CONNECTIONS 10;
GRANT SELECT, PROCESS, REPLICATION CLIENT, RELOAD ON *.* TO 'pmm'@'localhost';

添加mysql服务

pmm-admin add mysql --query-source=perfschema --username=pmm --password=pass --service-name=MYSQL_NODE --host=127.0.0.1 --port=3306

查找您的服务。

pmm-admin inventory list services --service-type=mysql

登录管理端界面查看

image.png

告警配置

  • 1 添加告警规则

image.png

image.png

  • 2 添加联络点,使用钉钉通知

R0(3W1R@2G`JX0BIIQOSP.png

4IJ~O42YU}T}TIDV(}UIL.png

  • 3 配置通知策略

image.png

image.png

参考文档