当前位置:   article > 正文

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

mysql monitoring and managment

部署前提:我们已经在一台能联网的机器上将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
  • 1
  • 2

3.启动docker

service docker start
  • 1

设置开机启动:

 chkconfig docker on
  • 1

查看 MySQL 服务是否开机启动

[root@localhost ~]# systemctl is-enabled mysql.service;echo $?
enabled
0
  • 1
  • 2
  • 3

如果是 enabled 则说明是开机自动,如果不是,执行

chkconfig --levels 235 docker  on
  • 1

4,记载PMM镜像文件(从其他机器打包或者从官网下载)

[root@localhost docker]# docker load -i 1.tar
  • 1

Docker目录下的1.tar是从其他机器打包出来的PMM镜像文件

查看安装的版本: docker version

  1. 查看镜像id
sudo docker images
  • 1

这里写图片描述
2. 选择要打包的镜像,执行打包命令

[root@localhost ~]# docker save -o /home/1.tar docker.io/percona/pmm-server
  • 1

会在/home/目录下生成导出文件1.tar,然后将此文件下载到本地

  1. 在开发环境导入上述打包的镜像
[root@localhost docker]# docker load -i 1.tar
  • 1

至此,可以使用本地镜像了!

5,查看已有镜像:
这里写图片描述

docker ps
  • 1

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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

7.创建PMMserver容器

docker run -d \
   -p 80:80 \
   --volumes-from pmm-data \
   --name pmm-server \
   --restart always \
   percona/pmm-server:latest
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

这里如果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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
    说明:
    控制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的内存。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

官网说明

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
  • 1

3、连接服务器

[root@localhost PMM-Client]#
 pmm-admin config --server 192.168.174.129PMMserver的ip)
  • 1
  • 2

这里写图片描述
问题:无法连接PMMserver,提示信息还是非常清晰的,可以访问提供的url查看或者按照提示检查,服务是否启动,是否启用ssl,是否开启防火墙等等,通常就是没启动服务或者防火墙开启。

连接成功:

这里写图片描述

4,查看已有list

pmm-admin list  
  • 1

这里写图片描述

5,增加MySQL监控服务

[root@localhost PMM-Client]# 
pmm-admin add mysql --user root --password 123456 --host  192.168.174.128 --create-user(数据库所在的ip)
--create-user 创建一个仅具有收集数据所需权限的用户
  • 1
  • 2
  • 3
  • 4

这里写图片描述
添加成功,这里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
  • 1

这里写图片描述
我们发现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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

再次刷新服务端发现已经出现了并且数据监控也有数据了

常见错误

打开 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.
  • 1
  • 2
  • 3
  • 4
  • 5

解决方法:PMM使用slow log作为查询源,需要开启慢日志。

 vim /etc/my.cnf
  • 1
slow_query_log=1  #开启慢查询日志
long_query_time=2  #超过多少秒的查询就写入日志
  • 1
  • 2

打开Query Analytics翻看的时候我遇到了一个类似46191-error-agent-executable-file-not-found-in-path的错误。
解决方法:需要安装percona-toolkit包。

$ apt-get install percona-toolkit
  • 1

问题:已经配置过与一个server连接后,要修改与另一个服务连接报错不能连接
提示信息中有提示这个命令
执行下就行了:

pmm-admin repair
  • 1
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/587315
推荐阅读
相关标签
  

闽ICP备14008679号