前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MYSQL PMM 搭建容易,细节难

MYSQL PMM 搭建容易,细节难

作者头像
AustinDatabases
发布2019-12-16 19:30:59
1.4K1
发布2019-12-16 19:30:59
举报
文章被收录于专栏:AustinDatabasesAustinDatabases

现在什么都要短平快,意思就是又要好,又要快,又要不出问题,嗯, 如果要监控MYSQL 来说,想要一个这样的东西 PMM monitor and mannagement)是一个不错的选择。(顺便说一句,二代已经出炉了,这里写的还是一代)

首先要好,这款监控开源产品是支持 MYSQL,POSTGRESQL, MONGODB , ProxySQL , 三款数据库基本上公司主流的开源数据库都支持了。同时这款产品还有一个特殊的地方就是对自己有监控,什么意思,很多监控产品对接入的系统都有良好的监控,但是独独对自己本身的状态是没有 监控的,这款产品会对自身的数据库,系统状态都是有监控的。

怎么安装就不提了,网上安装也是一大堆,但实际上安装还是需要提一下的,因为我在测试系统上安装,是很顺利的,但到了生产系统上就是另外一回事了。

大致安装这个系统会遇到以下问题

1 由于防火墙没有关闭,在安装数据收集端后,造成DOCKER系统中的配置项写入IPTABLE,进行DOCKER 内的监控系统和外部客户端数据的转发失败。 具体的反应就是安装完客户端,客户端和数据收集端之间的数据连接状态为 DOWN ,即使你在关闭防火墙也是无法弥补,只能重新安装。

2 网段的原因,实际上一个公司里面的数据库服务器可能会在多个网段都存在,但监控的收集只在一个网段,那网络的4-7 层的设置并打通关于防火墙的一些设置就是必须的,至于怎么打通,那就的问问你公司里面的网络大牛了。

3 默认安装PMM 是没有用户名密码的,但实际上一个系统最好还是有用户名和密码的设置,这里的用户名密码由于PMM是DOCER 的安装方式,只能在初始化的时候,来做,否则只能重做。

4 根据官方文档的要求,如果你没有专业的DOCKER Operation 那最还是按照文档来给OPT 目录提供充足的空间,防止某些你不懂的领域产生的问题

跳过这些坑后,剩下的基本上就是

1 部分监控项目有,但没有监控数据

2 慢查询没有数据

我们先看第一个问题 (以下的MYSQL 为 PERCONA 5.7.23),以下仅仅是选择了几个指标,实际上安装后 Innodb metrics advanced 都没有数据

到底怎么才能有数据呢????

SET GLOBAL innodb_monitor_enable=all

在MYSQL中执行完上面的语句,立即大部分PMM中显示 NO DATA POINTS 的 地方均会开始接受和显示数据。

但即使你做了这些,还是有些图形没有数据显示 no data point

到底是怎么回事。相信这里面至少还有两个图形没有数据

1 innodb online DDL

2 innodb Defragmentation

为什么,因为这两个图形是仅仅服务于 MariaDB的,所以如果你使用的是官版的或者是PERCONA 版本的MYSQL 是捕会有数据显示的。

还记得几年前写过一个SHELL 脚本,来统计一段时间有多少的 row insert ,delete, update 等信息,现在再看这个监控 innodb row operations ,那是比较一目了然看到系统的 IN OUT 状态了。

在基本上搞清楚这些问题后,下面就是对一些监控图形和指标的掌握了。(本期一定是说不完,所以写到哪里算哪里)

1 innodb checkpoint age, 这张图上我比较关注的并不是图中的红色的线,而是 uncheckpointed bytes ,这个数值的大小预示着有多少脏页还存在于系统中

下面这个图中的值之间的关系,试想如果你有很多的日志还没有做checkpoint ,日志没有落盘,你的想想哪里出了问题,并关注一下系统的负载情况,以及I/O情况

当然在看完上面的图,我马上就想看下面这个图,看看到底每秒的日志写入量有多大。

而相关的 innodb_buffer_pool_read_requests 也应该被关注,这表示在某个时间段系统从磁盘上请求数据的请求数,配合 innodb_buffer_pool_reads 和 Innodb_buffer_pool_read_requests两个参数就可以获得缓存的命中率是多少,并且是否缺少内存来界定的一个指标。

当然死锁也是很容易在 innodb metrics 中发现的

另外还有一些比较好的功能,例如可以看到表的存储空间的占用以及每个表的行数 (这里不一定是十分准确的),相关的信息是来自于information_schema中的VIEW的信息而来。

另外如果你使用的数据库是PERCONA 版本的MYSQL 则监控还会奉送 mysql user statistics 状态的界面

例如

那个用户创建的连接多了,那个用户的流量比较高,那个用户搜索的数据行数,使用的CPU 等等都可以从PMM 中获取。

所以说,PMM 看上去搭建速度很快,能展示的项目也很多,但其中的细节的问题,只有好好弄过的人知道有啥坑,OK 今天就到这里。

本文参与?腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-12-05,如有侵权请联系?cloudcommunity@tencent.com 删除

本文分享自 AustinDatabases 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com