文章

统计积分使用情况

统计积分使用情况

背景

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 进行授权