统计积分使用情况
统计积分使用情况
背景
2024 中秋,evt-004-redis 集群有明显数据上涨:
- 2024-09-16 18:00 ~ 22:00,从 388 GB 上涨到了 415 GB(涨幅 6.96%);
- 2024-09-17 12:00 ~ 16:30,从 418 GB 上涨到了 430 GB(涨幅 2.87%)。
如下图所示,上述的两个时间段能看到较为明显的上涨趋势。
目标
监控 EVT 系统中积分的查改趋势,如某个积分的查询/修改量激增/骤降的情况。
方案 1
概述
利用现有的 CMA 监控,在小海豚上设置定时任务,通过已有规则,将 CMA 对 NOS 的监控项落盘到某张 hive 表上,再通过小海豚上的定时任务,对此 hive 表进行分析、监控、报警。
步骤
-
在 hive 上新增 4 个表,表名与功能如下:
- cma_evt_nos_trend_nos_que:记录所有积分的查询情况。
- cma_evt_nos_trend_nos_upd:记录所有积分的修改情况。
- cma_evt_nos_trend_tag_upd:记录所有积分域的查询情况。
- cma_evt_nos_trend_tag_upd:记录所有积分域的修改情况。
所有表的形式均如下所示:
60099106 60121006 60121029 …… 2024-09-16 18:00:00 154 8587575 0 2024-09-16 19:00:00 123 6243575 1 2024-09-16 20:00:00 112 7587575 0 …… …… …… …… …… -
在小海豚上布置定时任务 A,每 1 小时落盘一次数据到上面提到的 4 张 hive 表中。
-
在小海豚上布置定时任务 B,每 1 小时分析一次上面的 4 张 hive 表,若触发《报警规则》,向指定邮箱发送邮件。
-
《报警规则》:将过去一小时的量与上一小时、昨天此刻、上周此刻分别进行对比,若均满足【涨幅/跌幅】大于 20% 且量大于 10 万,报警。
优点
- 可以统计历史数据(最多180天)。
- 无需更新服务。
- 可以顺便分析哪些积分不再使用,定期下线积分。
局限性
- CMA 监控本身是不精确的,监控项统计的数量会有误差,因此通过 CMA 来统计数据也只能是“趋势型”而非“准确型”的。
- 不具有“及时性”。因为是通过小海豚的定时任务进行监控、报警的,仅能作为事后复盘和归因。
- 历史数据不好分析,对比周期?增减幅度?增减量?很容易设定了规则但是没有效果。
- 定期在 hive 上跑任务,会给 hive 增加负担。
本文由作者按照
CC BY 4.0
进行授权
