以下文章来源于悦专栏 ,作者马听
上一节内容,我们讲解了 Prometheus+Grafana 监控 MySQL,我们应该发现了,这种方案部署比较繁琐,并且监控项较少,这一节内容,我们就来聊聊另外一种 MySQL 监控方案:PMM(Percona Monitoring and Management )。
PMM 是一款免费的开源监控工具,可以用来监控 MySQL、MongoDB 和 PostgreSQL 等数据库。虽然还是依赖 Prometheus 和 Grafana,但它是对这些组件做了二次开发,监控数据更加丰富,部署也方便很多。
特别对于 MySQL,还有特定对 InnoDB、TokuDB、PXC 和慢查询语句的监控 dashboard,可以说非常适合做为 MySQL 的企业级监控方案。
首先来看下 PMM 监控 MySQL 的整体架构图:
如上图,MySQL 和 Linux 操作系统的监控数据均由 PMM Client 获取,并传给 PMM Server,最终通过 Grafana 展示。
实验环境大致如下:
安装 Docker
yum install -y docker
启动 Docker
systemctl start docker
拉 PMM Server 的镜像
docker pull percona/pmm-server:latest
创建 PMM 数据容器
docker create --volume /srv --name pmm-data percona/pmm-server:2 /bin/true
创建PMM服务器容器
docker run --detach --restart always -p 8080:80 -p 443:443 --volumes-from pmm-data --name pmm-server percona/pmm-server:2
访问 web 界面:192.168.150.253:8080,可看到如下界面,用户名密码都为 admin。
用户名密码:admin/admin
登录之后,可进入如下界面:
到这里,PMM Server 端就安装完成了。
在 https://www.percona.com/downloads/pmm2/ 选择对应的 pmm-client,点击下载,如下图:
将下载的 rpm 包传到 PMM Client 需要部署的机器上,然后进行安装:
yum install pmm2-client-2.14.0-6.el7.x86_64.rpm -y
确定是否安装成功:
pmm-admin --version
在安装好 PMM Client 的机器上,执行下面的命令连接 PMM Server:
pmm-admin config --server-insecure-tls --server-url=https://admin:admin@192.168.150.253:443
执行完成后,会有如下显示:
在 MySQL 中创建 pmm 用于取监控数据的用户:
CREATE USER 'pmm_user'@'localhost' IDENTIFIED BY 'PmmIHBN66QWE!';
GRANT SELECT, PROCESS, SUPER, REPLICATION CLIENT, RELOAD ON *.* TO 'pmm_user'@'localhost';
在 PMM Client 所在的机器,执行下面的命令,将 MySQL 添加到 PMM 中:
pmm-admin add mysql --username pmm_user --password 'PmmIHBN66QWE!' mysql-192.168.150.123 localhost:3306
查看添加的服务:
pmm-admin list
再次打开监控界面:192.168.150.253:8080,登录后,就可以看到监控数据了。按下图选择对应的 dashboard 和 Service Name,可以看到 MySQL 的监控数据:
按下图选择对应的 dashboard 和 Service Name,可以看到 MySQL 的慢查询:
按下图选择对应的 dashboard 和 Node Names,可以看到操作系统的监控数据:
到这里,通过 PMM 监控 MySQL 的内容就讲完了。
评论区(0)