安装PMM Server-监控mongodb mysql

安装PMM Server-监控mongodb mysql

一、PMM介绍

Percona Monitoring and Management (PMM)是一款开源的用于管理和监控MySQL和MongoDB性能的开源平台,通过PMM客户端收集到的DB监控数据用第三方软件Grafana画图展示出来。
PMM提供了对MyISAM、InnoDB、TokuDB和PXC/Glarera的监控,另外也提供了Query Analytics的功能,可以检视执行了哪些SQL指令,并对执行效能较差的语法进行优化。另外在新版本还支持了MySQL复制拓扑图结构构造。Demo官网:http://pmmdemo.percona.com
PMM针对操作系统的部份也提供了硬盘、网络、CPU和RAM的监控,特别的是它提供了Context switches、Processes和interrupts的监控,Context Switches可以看到CPU上下切换文的状况,Processes可以方便了解系统有多少程序在等待I/O。

1_1、PMM架构解析

PMM架构如下图所示
在这里插入图片描述

PMM Server是作为Docker镜像distributed,而PMM Client就是一般的RPM,它需要安装Server端和Client端软件

1_2、Server组件

Query Analytics(QAN)是用来搜集指令并作性能分析的,其组件分别说明如下:
QAN API:作为percona-qan-agent后端储存和读取Query资料用。
QAN APP:提供图形化分析介面。
Metrics Monitor(MM)组件提供了MySQL和MongoDB历史监控信息,其组件分别说明如下:
Prometheus:一个开源的服务监控系统和时间序列数据库,它连接到PMM Client上的exporter聚集DB的监控数据。
– Consul:提供API让PMM Client可以远端替Prometheus新增、移除hosts,同时它也储存了监控的metadata。
Grafana:这是一个第三方Dashboard和图形构建器,用于可视化Prometheus中聚合的数据,以Web呈现。
– Percona Dashboards:是由Percona开发的一组用于Grafana的仪表板。
上述的2个Web页面都能从PMM Landing Page(就是PMM首页)直接连结。

1_3、Client组件

ppm-admin:命令行的PMM Client管理工具,用来新增、移除监控的资料Instance。
percona-qan-agent:是一种管理QAN代理的服务,收集查询性能数据并将其发送到PMM服务器上的QAN API。
node_exporter:Prometheus exporter用于搜集一般系统信息(https://github.com/prometheus/node_exporter)。
mysqld_exporter:Prometheus exporter用于搜集MySQL Server的信息(https://github.com/percona/mysqld_exporter)。
mongodb_exporter:Prometheus exporter用于搜集MongoDB server的信息(https://github.com/percona/mongodb_exporter)。

二、安装运行PMM Server

1、安装docker
yum -y install docker

2、运行docker
systemctl start docker
systemctl enable docker

3、下载容器镜像
docker pull percona/pmm-server:latest

4、建立数据卷容器
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

5、运行PMM Server
docker run -d -p80:80 --volumes-from pmm-data --name pmm-server {-e METRICS_RETENTION=48h 可选,数据只留48小时} --restart always percona/pmm-server:latest
注意:如果执行上面这条命令出现如下错误:
/usr/bin/docker-current: Error response from daemon: driver failed programming external connectivity on endpoint pmm-server (1263128b75956bbdc024ab564e717e33bfa929c7cff60e2524d45c921879e46f): exec: "docker-proxy": executable file not found in $PATH.
则要建立软连接:
cd /usr/libexec/docker
ln -s docker-init-current docker-init
ln -s docker-proxy-current docker-proxy
ln -s docker-runc-current docker-runc

6、查看Docker运行状态
docker ps -a
通过使用运行容器的主机的IP地址连接到PMM Web界面来验证PMM服务器是否正在运行,然后在要监视的所有数据库主机上安装PMM Client。

2_1、验证PMM服务器

运行PMM Server之后,你应该可以使用运行容器的主机的IP地址访问PMM Web界面。例如,如果在默认端口8080上运行192.168.4.120,则应该可以访问以下内容:
在这里插入图片描述

2_2、安装客户端

[root@mongodb /soft/package]# rpm -ivh pmm-client-1.17.1-1.el7.x86_64.rpm 
警告:pmm-client-1.17.1-1.el7.x86_64.rpm: 头V4 RSA/SHA256 Signature, 密钥 ID 8507efa5: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...
   1:pmm-client-1.17.1-1.el7          ################################# [100%]

[root@zabbix-server package]# pmm-admin config --server 192.168.4.120:8080
OK, PMM server is alive.

PMM Server      | 192.168.4.120:8080 
Client Name     | zabbix-server
Client Address  | 192.168.6.176 

[root@zabbix-server package]# pmm-admin add mongodb --cluster rep --uri mongodb://192.168.6.176:27017
Warning: It is recommended to use the same version on both PMM Server and Client, otherwise some features will not work correctly.
Please upgrade your PMM Client by following the instructions from https://www.percona.com/doc/percona-monitoring-and-management/deploy/index.html#updating
[linux:metrics]   OK, now monitoring this system.
[mongodb:metrics] OK, now monitoring MongoDB metrics using URI 192.168.6.176:27017
[mongodb:queries] OK, now monitoring MongoDB queries using URI 192.168.6.176:27017
[mongodb:queries] It is required for correct operation that profiling of monitored MongoDB databases be enabled.
[mongodb:queries] Note that profiling is not enabled by default because it may reduce the performance of your MongoDB server.
[mongodb:queries] For more information read PMM documentation (https://www.percona.com/doc/percona-monitoring-and-management/conf-mongodb.html).

[root@zabbix-server package]# pmm-admin list
Warning: It is recommended to use the same version on both PMM Server and Client, otherwise some features will not work correctly.
Please upgrade your PMM Client by following the instructions from https://www.percona.com/doc/percona-monitoring-and-management/deploy/index.html#updating
pmm-admin 1.17.1

PMM Server      | 192.168.4.120:8080 
Client Name     | zabbix-server
Client Address  | 192.168.6.176 
Service Manager | linux-systemd

---------------- -------------- ----------- -------- -------------------- --------------------
SERVICE TYPE     NAME           LOCAL PORT  RUNNING  DATA SOURCE          OPTIONS             
---------------- -------------- ----------- -------- -------------------- --------------------
mongodb:queries  zabbix-server  -           YES      192.168.6.176:27017  query_examples=true 
linux:metrics    zabbix-server  42000       YES      -                                        
mongodb:metrics  zabbix-server  42003       YES      192.168.6.176:27017  cluster=rep  

三、PMM监控mysql数据库配置

1. pmm-admin config --server 192.168.4.120:8080 --client-name xxx
2. pmm-admin add mysql --user pmm --password pmm@12345 --port 4022 --host 192.168.8.9 mysql4099
3. pmm-admin check-network

四、PMM监控mongodb数据库配置

1、rpm -ivh pmm-client-1.17.1-1.el7.x86_64.rpm 

2、pmm-admin config --server 192.168.4.120:8080

3、pmm-admin add mongodb --cluster rep --uri mongodb://sys_admin:mongodb234@192.168.5.234:27017

4、pmm-admin list

五、PMM报警设置

官网参考网址:https://www.percona.com/blog/2017/01/23/mysql-and-mongodb-alerting-with-pmm-and-grafana/

5_1.pmm报警需要进入docker容器里设置
# docker ps -a
CONTAINER ID        IMAGE                       COMMAND                CREATED             STATUS              PORTS                           NAMES
fb864e200702        percona/pmm-server:latest   "/opt/entrypoint.sh"   4 weeks ago         Up 4 minutes        443/tcp, 0.0.0.0:8080->80/tcp   pmm-server
0bcf43eb2171        percona/pmm-server:latest   "/bin/true"            4 weeks ago         Created                                             pmm-data

docker exec - it CONTAINER_ID / bin / bash 进入Docker shell
# docker exec -it fb864e200702 /bin/bash

在此终端上,您可以访问/etc/grafana/grafana.ini配置文件
如果提示没有vim软件,直接手动安装yum -y install vim 
# vim /etc/grafana/grafana.ini
#################################### SMTP / Emailing ##########################
[smtp]
enabled = true
host = smtp.exmail.qq.com:465
user = yezz@163.com
# If the password contains # or ; you have to wrap it with trippel quotes. Ex """#password;"""
password = ZVH39usg345Gdd3Er
;cert_file =
;key_file =
;skip_verify = false
from_address = yezz@163.com
from_name = Grafana
# EHLO identity in SMTP dialog (defaults to instance_name)
;ehlo_identity = dashboard.example.com

[emails]
;welcome_email_on_sign_up = false

#################################### Logging ##########################

对配置文件进行更改后,可以使用docker restart pmm - server  命令重新启动pmm-server来接收更改

5_2.访问“警报通知”面板,通过单击“发送测试”按钮来测试服务器的配置

在这里插入图片描述

5_3.当您收到以下电子邮件时,您将知道已正确配置此配置:

在这里插入图片描述

5_4.如果没有收到报警邮件查看日志 tail -f /var/log/grafana/grafana.log

## 六、pmm常用命令
查看Docker运行状态
docker ps -a
docker ps  查看运行状态
docker restart 438305673af7  启动
docker stop 438305673af7  停止
rpm -e pmm-client-1.17.1-1.el7.x86_64  卸载服务

#添加监控服务
pmm-admin add
#检查PMM客户端和PMM服务器之间的网络连接。
pmm-admin check-network
#配置PMM Client如何与PMM服务器通信。
pmm-admin config
#打印任何命令和退出的帮助
pmm-admin help
#打印有关PMM客户端的信息
pmm-admin info
#列出此PMM客户端添加的所有监控服务
pmm-admin list
#检查PMM服务器是否存活
pmm-admin ping
#在PMM服务器上清除度量数据。
pmm-admin purge
#清除监控服务
pmm-admin remove
#修复安装
pmm-admin repair
#重启pmm客户端
pmm-admin restart
#打印PMM Client使用的密码
pmm-adminshow-passwords
#开启监控服务
pmm-admin start
#停止监控服务
pmm-admin stop
#在卸载之前清理PMM Client
pmm-admin uninstall


参考链接:https://www.jianshu.com/p/ed2bf649a43f

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值