今天就跟大家聊聊有关如何进行MYSQL PMM搭建及细节分析,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
现在什么都要短平快,意思就是又要好,又要快,又要不出问题,嗯, 如果要监控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 中获取。
看完上述内容,你们对如何进行MYSQL PMM搭建及细节分析有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。