mysql 监测数据按半小时分组

mysql 监测数据按半小时分组,第1张

        在开发中遇到如下问题:现地的OPC采集数据的频率是5分钟一次,通过数据同步的方式同步到业务库,以图表的形式展示给业务人员。因为数据量较大,把每一条数据都展示出来导致页面数据太多。业务人员提出按每半小时取一条数据,各项指标取这半小时内的平均值。

                                                                                                            原数据展示

    1,按半小时分组就是将半小时内的时间划为一组。即2020-05-01 00:00 --2020-05-01 00:25 这些数据将被分到2020-05-01 00:00 这一组

2,先利用UNIX_TIMESTAMP函数将tm字段转化成秒,其表示从1970-01-01 00:00:00到tm所经历的秒数,对其做半小时的向下取整,最后再做Group by。

1800秒:半小时

floor(t.tm/1800) : 对于半小时的个数做向下取整

floor(t.tm/1800) * 1800: 取得整半小时的时间

3,对具体的监测值再做处理。我这里只要对这个时间段内的取平均数就行了。经过调整,达到业务人员的需求。

首先介绍下 pt-stalk,它是 Percona-Toolkit 工具包中的一个工具,说起 PT 工具包大家都不陌生,平时常用的 pt-query-digest、 pt-online-schema-change 等工具都是出自于这个工具包,这里就不多介绍了。

pt-stalk 的主要功能是在出现问题时收集 OS 及 MySQL 的诊断信息,这其中包括:

1. OS 层面的 CPU、IO、内存、磁盘、网络等信息;

2. MySQL 层面的行锁等待、会话连接、主从复制,状态参数等信息。

而且 pt-stalk 是一个 Shell脚本,对于我这种看不懂 perl 的人来说比较友好,脚本里面的监控逻辑与监控命令也可以拿来参考,用于构建自己的监控体系。

三、使用

接着我们来看下如何使用这个工具。

pt-stalk 通常以后台服务形式监控 MySQL 并等待触发条件,当触发条件时收集相关诊断数据。

触发条件相关的参数有以下几个:

function:

∘ 默认为 status,代表监控 SHOW GLOBAL STATUS 的输出;

∘ 也可以设置为 processlist,代表监控 show processlist 的输出;

variable:

∘ 默认为 Threads_running,代表 监控参数,根据上述监控输出指定具体的监控项;

threshold:

∘ 默认为 25,代表 监控阈值,监控参数超过阈值,则满足触发条件;

∘ 监控参数的值非数字时,需要配合 match 参数一起使用,如 processlist 的 state 列;

cycles:

∘ 默认为 5,表示连续观察到五次满足触发条件时,才触发收集;

连接参数:host、password、port、socket。

其他一些重要参数:

iterations:该参数指定 pt-stalk 在触发收集几次后退出,默认会一直运行。

run-time:触发收集后,该参数指定收集多长时间的数据,默认 30 秒。

sleep:该参数指定在触发收集后,sleep 多久后继续监控,默认 300 秒。

interval:指定状态参数的检查频率,判断是否需要触发收集,默认 1 秒。

dest:监控数据存放路径,默认为 /var/lib/pt-stalk。

retention-time :监控数据保留时长,默认 30 天。

daemonize:以后台服务运行,默认不开启。

log:后台运行日志,默认为 /var/log/pt-stalk.log。

collect:触发发生时收集诊断数据,默认开启。

∘ collect-gdb:收集 GDB 堆栈跟踪,需要 gdb 工具。

∘ collect-strace:收集跟踪数据,需要 strace 工具。

∘ collect-tcpdump:收集 tcpdump 数据,需要 tcpdump 工具。

以目前的硬件条件,无论你怎么优化,都不可能在生产环境中做到“每秒1000次的并发访问”,除非你拿来做测试的是只有几条数据的表和最简单的查询。 如果你完全不懂负载平衡,读写分离,群集这些概念的话。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/8584910.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-18
下一篇 2023-04-18

发表评论

登录后才能评论

评论列表(0条)

保存