赞
踩
部署前提:我们已经在一台能联网的机器上将PMM-Server的镜像已经拉取到本地了,然后从拉取成功的机器上打包镜像,这样在不能联网的服务器中的docker中创建容器时就不需要远程拉取从而实现断网安装,如果机器能联网就就直接安装就行,省去打包步骤。
1.下载最新docker rpm包
rpm包
docker
官网教程
官网教程
导入导出镜像文件
导出教程
部署docke创建容器以及运行PMM-server
部署安装
2.复制到虚拟机安装、
[root@localhost docker]#
rpm -ivh docker-1.12.6-32.git88a4867.el7.centos.x86_64.rpm
3.启动docker
service docker start
设置开机启动:
chkconfig docker on
查看 MySQL 服务是否开机启动
[root@localhost ~]# systemctl is-enabled mysql.service;echo $?
enabled
0
如果是 enabled 则说明是开机自动,如果不是,执行
chkconfig --levels 235 docker on
4,记载PMM镜像文件(从其他机器打包或者从官网下载)
[root@localhost docker]# docker load -i 1.tar
Docker目录下的1.tar是从其他机器打包出来的PMM镜像文件
查看安装的版本: docker version
sudo docker images
2. 选择要打包的镜像,执行打包命令
[root@localhost ~]# docker save -o /home/1.tar docker.io/percona/pmm-server
会在/home/目录下生成导出文件1.tar,然后将此文件下载到本地
[root@localhost docker]# docker load -i 1.tar
至此,可以使用本地镜像了!
5,查看已有镜像:
docker ps
6,创建数据容器
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
7.创建PMMserver容器
docker run -d \
-p 80:80 \
--volumes-from pmm-data \
--name pmm-server \
--restart always \
percona/pmm-server:latest
这里如果90端口被占用就换其他的端口
docker run -d \
-p 8090:80 \
--volumes-from pmm-data \
--name pmm-server \
--restart always \
--e METRICS_MEMORY=4194304\ 4G 实际使用会在6G
--e METRICS_RETENTION=192h \ 数据保存时间8天
percona/pmm-server:latest
说明:
控制PMM的内存消耗: --e METRICS_MEMORY=4194304
默认情况下,PMM Server中的 Prometheus 最多可以使用256 MB的内存来存储最近使用的数据块。根据进入普罗米修斯的数据量,您可能需要更高的限制才能避免限制数据吞吐,或者如果其他进程需要更少的内存消耗。
您可以通过METRICS_MEMORY在创建和运行PMM Server容器时传递环境变量来控制Prometheus允许的内存消耗。要设置环境变量,请使用该-e选项。该值必须以千字节为单位传递。例如,将限制设置为4 GB内存:
- e METRICS_MEMORY = 4194304
注意:
限制仅影响为数据块保留的内存。普罗米修斯的实际RAM使用率更高。建议将此限制设置为您计划允许使用普罗米修斯的总内存的大约2/3。所以在前面的例子中,如果将限制设置为4 GB,那么普罗米修斯将使用最多6 GB的内存。
8.访问127.0.0.1看是否能进入
PMM-Client安装与PMM-Server数据互通
1、安装pmm-client rpm 官网找与PMM-Server对应的版本下载
2、安装客户端[root@localhost PMM-Client]#
rpm -ivh pmm-client-1.2.0-1.x86_64.rpm
3、连接服务器
[root@localhost PMM-Client]#
pmm-admin config --server 192.168.174.129(PMMserver的ip)
问题:无法连接PMMserver,提示信息还是非常清晰的,可以访问提供的url查看或者按照提示检查,服务是否启动,是否启用ssl,是否开启防火墙等等,通常就是没启动服务或者防火墙开启。
连接成功:
4,查看已有list
pmm-admin list
5,增加MySQL监控服务
[root@localhost PMM-Client]#
pmm-admin add mysql --user root --password 123456 --host 192.168.174.128 --create-user(数据库所在的ip)
--create-user 创建一个仅具有收集数据所需权限的用户
添加成功,这里pmm-admin add mysql –help(
https://www.percona.com/doc/percona-monitoring-and-management/pmm-admin.html#pmm-admin-options
)这个是pmm-admin add的help不懂得可以参考
这里要说明下:就是我们使用help命令查看全局配置文件默认在
“/usr/local/percona/pmm-client/pmm.yml”下,我们打开这个文件,发现里边的信息就是我们注册的服务器和客户端信息,还有client_name: test-1,这里就是显示在监控界面的mysql的名字,如果有需要就修改我的默认是localhost.localdomain
再次使用pmm-admin list查看:
说明已经添加成功系统和mysql的监控
6,服务端刷新页面发现没有添加的客户端信息,可能添加报错,官方很周到提供了连接check命令
[localhost PMM-Client]# pmm-admin check-network
我们发现server到client的down了,可以访问提供的url或者可以看里边的信息,明显使用42000和42002端口,但是我们并没有开放,所以不能连接。
开放端口
firewall-cmd --permanent --zone=public --add-port=42000/tcp
firewall-cmd --permanent --zone=public --add-port=42000/udp
And:
firewall-cmd --permanent --zone=public --add-port=42002/tcp
firewall-cmd --permanent --zone=public --add-port=42002/udp
firewall-cmd --reload
再次刷新服务端发现已经出现了并且数据监控也有数据了
常见错误
打开 PMM Query Analytics报 “QAN API error: “qh.Profile: No query classes for selected instance and time range.错误。
完整报错信息如下:
There is no data for the selected MySQL instance, time range or search query.
QAN API error: “qh.Profile: No query classes for selected instance and time range. Please check whether your MySQL settings match the recommended.”.
Check the /var/log/qan-api.log file in docker container for more information.
解决方法:PMM使用slow log作为查询源,需要开启慢日志。
vim /etc/my.cnf
slow_query_log=1 #开启慢查询日志
long_query_time=2 #超过多少秒的查询就写入日志
打开Query Analytics翻看的时候我遇到了一个类似46191-error-agent-executable-file-not-found-in-path的错误。
解决方法:需要安装percona-toolkit包。
$ apt-get install percona-toolkit
问题:已经配置过与一个server连接后,要修改与另一个服务连接报错不能连接
提示信息中有提示这个命令
执行下就行了:
pmm-admin repair
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。