PMM是一款免费的开源监控工具,可以用来监控 MySQL、MongoDB 和 PostgreSQL 等数据库。
较之前的工具,有了图形化界面,并且还有官方文档。
不过,官方文档,照着做始终不行......
经过漫长的斗争,终于成功攻破了安装和使用。
测试这个虚拟机最好将CPU增大几倍,否则1.6G会直接吃掉你全部运行内存,而后结果也变得非常缓慢。
整体架构思路
环境
- CentOS7
- MYSQL 5.6.50
安装docker
安装docker
yum install -y docker
启动docker
systemctl start docker
PMM Server 安装
拉 PMM Server 的镜像
docker pull percona/pmm-server:latest
创建 PMM 数据容器
docker create --volume srv --name pmm-data percona/pmm-server:latest bin/true
创建PMM服务器容器
docker run --detach --restart always -p 81:80 -p 443:443 --volumes-from pmm-data --name pmm-server percona/pmm-server:latest
访问 web 界面:192.168.150.253:8080,可看到如下界面,用户名密码都为 admin。
成功登录界面
到这里,PMM Server 端就安装完成了。
PMM Client 安装
拉PMM Client镜像
docker pull percona/pmm-client:latest
创建PMM Client数据容器
docker run -d \
-p 81:80 \
--volumes-from pmm-data \
--name pmm-server \
--restart always \
percona/pmm-server:latest
创建PMM Client客户端容器
PMM_SERVER=192.168.2.152:443
docker run \
--rm \
--name pmm-client \
-e PMM_AGENT_SERVER_ADDRESS=${PMM_SERVER} \
-e PMM_AGENT_SERVER_USERNAME=admin \
-e PMM_AGENT_SERVER_PASSWORD=admin \
-e PMM_AGENT_SERVER_INSECURE_TLS=1 \
-e PMM_AGENT_SETUP=1 \
-e PMM_AGENT_CONFIG_FILE=pmm-agent.yml \
--volumes-from pmm-client-data \
percona/pmm-client:latest
检查状态
docker exec pmm-client \
pmm-admin status
最终测试,无效!docker容器里的慢日志无法打开,建立不了连接。
percona-toolkit安装
下载地址
https://www.percona.com/downloads/percona-toolkit/LATEST/
后续,也不知道怎么弄的,到早上5点多的时候,他就能连上了.........o(╥﹏╥)o
后面我又重新开了一台虚拟机测试,mysql没有挂载到docker容器里,选择直接安装pmm-client2,可是状况连连。
后面的内容只能依靠谷歌,百度里面全是复制粘贴怪。
在官方网站,下载最新的pmm-client,旧版无法运行下面的命令。
https://www.percona.com/downloads/pmm2/
在使用 rpm -ivh 命令安装
如果想要卸载掉这个东西,那么使用 rpm -e 命令
docker 中使用pmm-client
创建pmm-client容器
docker create --volume /srv --name pmm-client-data percona/pmm-client:latest /bin/true
PMM_SERVER=192.168.2.152:443
docker run \
--rm \
--name pmm-client \
-e PMM_AGENT_SERVER_ADDRESS=${PMM_SERVER} \
-e PMM_AGENT_SERVER_USERNAME=admin \
-e PMM_AGENT_SERVER_PASSWORD=admin \
-e PMM_AGENT_SERVER_INSECURE_TLS=1 \
-e PMM_AGENT_SETUP=1 \
-e PMM_AGENT_CONFIG_FILE=pmm-agent.yml \
--volumes-from pmm-client-data \
percona/pmm-client:latest
查看pmm-client连接状态
直接添加mysql实例
查看实例创建情况
在web页面上,也可以验证实例创建情况,不过无法进行修改,但可以进行删除。
而最无语的地方就是,别人的博客一通气写完,怎么用一句话没写.....
问题点:那什么docker容器里的慢查询日志,在容器内部,无法访问,而我们也只能挂载一份一样的数据卷,相当于拷贝一份,防止数据丢失。
当我创建好mysql实例,我以为一切顺利,但是结果却是在docker pmm-client 容器运行中,一直报错,访问不到慢查询日志。
没办法,我选择重新开启一个虚拟机,重新配置mysql。
但是经过长时间的斗争,还是没能建立连接,期间电脑都卡住好几次,重启了两道。
它居然莫名其妙的建立了连接,慢查询日志也因为关机而关闭,到现在我还不能确定到底是不是CPU的问题。
pmm-client
创建mysql实例
pmm-admin config --server-insecure-tls --server-url=https://admin:admin@192.168.2.152:443 192.168.2.152 generic localhost.hikktndoamin
添加mysql实例
pmm-admin add mysql --username root --password '123456' mysql-192.168.135.140 192.168.135.140:3306
查看实例状态
查看mysql运行状态
以上,结束。还有很多东西没弄懂,但是我觉得这东西不好用,还是看需求。
最后,这个实例的添加就是关于CPU的配置,虚拟机给的CPU核心太少,半天没反应,等了几个小时,才有了连接。