您的位置:首页 > 运维架构 > Docker

MySql监控工具断网部署Percona Monitoring and Management ,Perocona的官方监控工具Docker安装教程

2017-08-18 10:24 1146 查看
部署前提:我们已经在一台能联网的机器上将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

查看镜像id

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息