Percona Monitoring and Management
Percona Monitoring and Management (PMM) 是 MySQL、PostgreSQL 和 MongoDB 的开源数据库监控、管理和可观测性解决方案。它允许您观察数据库系统的运行状况,探索其行为的新模式,对其进行故障排除并执行数据库管理操作,无论它们位于本地还是云中的哪个位置。
服务端安装
开放端口
这是 PMM 的各个组件使用的端口列表。
要使 PMM 正常工作,系统的防火墙应允许这些端口上的 TCP 流量(不需要 UDP)。
要公开的端口:
| 永磁复用组件 | TCP端口 | 方向 | 描述 |
|---|---|---|---|
| PMM 服务器 | 80 | 双 | HTTP 服务器,用于通过 HTTP 和 Web 界面进行 gRPC(不安全,请谨慎使用)。 |
| PMM 服务器 | 443 | 双 | HTTPS 服务器,用于基于 HTTPS 和 Web 界面的 gRPC(安全,强烈建议使用 SSL 证书)。 |
其他端口:
| 永磁复用组件 | TCP端口 | 方向 | 描述 |
|---|---|---|---|
| PMM 服务器 | 7771 | 双 | gRPC,用于 之间的通信。pmm-agent``pmm-admin |
| PMM 服务器 | 7772 | 外 | HTTP1 服务器,用于较旧的链接,如 .logs.zip |
| PMM 服务器 | 7773 | 外 | 调试。 |
pmm-agent | 7777 | 外 | 默认侦听端口。pmm-agent |
vm-agent | 8428 | 双 | 维多利亚计量端口。 |
pmm-agent | 42000 - 51999 | 在 | 已连接代理的默认范围。pmm-agent |
使用docker安装
- 1 快速安装可以直接使用脚本
wget -O - https://www.percona.com/get/pmm | /bin/bash
脚本会知道安装docker,server等
- 2 手动安装
开始之前
- 安装 Docker 1.12.6 或更高版本。
-
拉取映像。
docker pull percona/pmm-server:2 -
创建卷:
docker volume create pmm-data -
运行映像:
docker run --detach --restart always \ --publish 443:443 \ -v pmm-data:/srv \ --name pmm-server \ percona/pmm-server:2 -
访问以在 Web 浏览器中查看 PMM 用户界面。(如果要远程访问 docker 主机,请替换为主机的 IP 或服务器名称。
https://localhost:443,默认账号admin、密码admin。
在安装了数据库的机器安装客户端
- 基于 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
登录管理端界面查看
告警配置
- 1 添加告警规则
- 2 添加联络点,使用钉钉通知
- 3 配置通知策略