PMM架构

PMM架构(Percona Monitoring and Management):

  • 客户端(agent)向consul的kv中注册自己监控的服务信息
  • 存储端(prometheus)从consul提供的服务发现服务地址去分别获取agent注册的信息,然后去一个个抽取exporter产生的监控数据
  • Grafana通过读取存储端存储的数据进行展示
  • 图中的地址不是直接对外暴露的,有一层nginx转发
  • QAN的查询语句分析功能是通过另外的QAN服务单独进行分析并推入prometheus的
  • 有一个MySQL实例用于存储整套系统的元数据信息。
  • 还有一个大多数人不会投入使用的Orchestrator

 

PMM基本操作

pmm-admin config --server 192.168.1.22 --server-user test --server-password 123456           # 客户端与服务端连接
pmm-admin add linux:metrics                # 添加监控 
pmm-admin rm linux:metrics                 # 删除监控 
pmm-admin ping                             # 检测服务端是否存活 
pmm-admin list                             # 列出为本机添加的所有监控 
pmm-admin info                             # 列出客户端的详细信息 
pmm-admin stop | start | restart           # 客户端 停止 | 启动 | 重启

PMM的安装与部署

实验环境

clientserver
IP地址192.168.1.11192.168.1.22

客户端

安装MySQL

# 检测有没有安装MySQL的包,如果有移除
[root@client ~]# rpm -qa | grep mysql
[root@client ~]# rpm -qa | grep mariadb
mariadb-libs-5.5.56-2.el7.x86_64
# 安装MySQL
[root@client ~]# rpm -ivh mysql-community-release-el6-5.noarch.rpm 
[root@client ~]# yum -y install mysql-community-server

安装percona-toolkit

[root@client ~]# rpm -ivh percona-release-0.1-6.noarch.rpm
[root@client ~]# yum -y install percona-toolkit

安装pmm-client

[root@client ~]# rpm -ivh pmm-client-1.17.1-1.el7.x86_64.rpm

添加PMM监控

[root@client ~]# pmm-admin config --server 192.168.1.22 --server-user test --server-password 123456            # 客户端与服务端连接
[root@client ~]# pmm-admin add linux:metrics                # 添加监控

修改MySQL配置文件

[root@localhost ~]# vim /etc/my.cnf
# 在最后添加
log_output=file
slow_query_log=ON
long_query_time=0
log_slow_rate_limit=100
log_slow_rate_type=query
log_slow_admin_statements=ON
log_slow_slave_statements=ON
slow_query_log_always_write_time=1
slow_query_log_use_global_control=all
innodb_monitor_enable=all
userstat=1

进入数据库操作

启动数据库

[root@client ~]# systemctl start mysqld

设置密码

[root@client ~]# mysqladmin -uroot password 123456

进入数据库

[root@client ~]# mysql -uroot -p123456

授权

mysql> grant all on *.* to 'pmm'@'192.168.1.11' identified by '123456';

添加MySQL监控

[root@client ~]# pmm-admin add mysql:metrics --user pmm --password 123456 --host 192.168.1.11 --port 3306
[root@client ~]# pmm-admin add mysql --query-source auto --user pmm --password 123456 --host 192.168.1.11 --port 3306

监控MySQL

[root@server ~]# firefox 192.168.1.22

服务端

安装docker并启动

[root@server ~]# yum -y install yum-utils device-mapper-persistent-data lvm2
[root@server ~]# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
[root@server ~]# yum -y install docker-ce
[root@server ~]# systemctl start docker

启动percona/pmm-server容器

[root@server ~]# docker pull percona/pmm-server

[root@server ~]# docker create -v /opt/prometheus/data -v /opt/consul/data -v /var/lib/mysql -v /var/lib/grafana --name pmm-data percona/pmm-server
c9c6ba9c99dc15315b7fff73845eb4538a97d9fff16801511fb80ef01138ca09

[root@server ~]# docker run -d -p 80:80 --volumes-from pmm-data --restart always --name pmm-server -e SERVER_USER=test -e SERVER_PASSWORD=123456 percona/pmm-server
63d0cc6c04e55cb4b1d0076e1c975524bac099d828e5b2e460f6a2a80d31a5ad

访问网站

[root@server ~]# firefox 192.168.1.22
Last modification:July 23rd, 2020 at 10:46 pm
如果觉得我的文章对你有用,请随意赞赏