安装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、安装客户端
[aaa@qq.com /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%]
[aaa@qq.com 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
[aaa@qq.com 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).
[aaa@qq.com 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 aaa@qq.com --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:aaa@qq.com: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 = aaa@qq.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 = aaa@qq.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
推荐阅读
-
mycat安装、mysql主从、监控详细操作步骤
-
记录CentOS 7.4 上安装MySQL&MariaDB&Redis&Mongodb
-
安装配置Zabbix来监控MySQL的基本教程_MySQL
-
OEM12c安装配置MySQLPlug-in用来监控MySQL_MySQL
-
MongoDB 安装、主从配置、以及监控
-
安装配置MySQLMTOP来监控MySQL运行性能的教程_MySQL
-
安装配置Zabbix来监控MySQL的基本教程_MySQL
-
记录CentOS 7.4 上安装MySQL&MariaDB&Redis&Mongodb
-
MySQL性能监控软件Nagios的安装及配置教程_MySQL
-
OEM12c安装配置MySQLPlug-in用来监控MySQL_MySQL