重命名自定义事件后趋势断裂,通常不是数据丢了,而是新旧事件名被当成两条序列:旧名停止累积,新名从零开始。要避免断裂,关键是先判断你依赖的是“连续时间序列”还是“可回溯的映射关系”,再决定是保留旧名做别名,还是接受一次断点并显式标注。
如果你的报表、告警阈值或留存曲线依赖逐日连续的点,那么重命名必须做成“映射”而非“替换”。反之,如果只是临时看板、可以重新聚合历史数据,那么允许一次断点更省事。
判断依据不是“哪个更规范”,而是“断点会不会被自动告警当成异常”。如果会,就必须走条件A。
具体动作是在采集或建模层加一个映射表,把旧事件名和新事件名都归一到同一个逻辑事件。这样历史序列不断,新数据也进入同一口径。
logical_event = "check_completed",并列出 aliases = ["check_done", "scan_finished"]。这个动作的结果直接决定下一步:如果别名层生效,趋势线连续,你可以继续用原有阈值;如果只能回填,那么回填完成前不要调整告警阈值,否则会把回填缺口误判为业务下降。
看到新事件名从某天起为零,不要立刻归因于重命名。至少核对三类证据:
这三类原因的表现不同:采集端为零通常伴随原始日志缺失;处理端为零往往原始日志有记录但聚合结果为空;展示端为零则原始和处理都正常,只有图表不动。用原始日志条数、聚合表行数、看板查询结果三者对照,就能区分。
假设某在线安全检测流程把事件 scan_ok 改名为 check_pass,切换后趋势图从每天约 1000 掉到 0,三天后新名才逐步上升。若不做映射,异常检测会把这三天判为“完成量骤降”。
正确做法是:切换前先加别名,让 scan_ok 和 check_pass 都归入 check_pass 逻辑事件;切换后观察原始日志中两个名字的上报比例,确认新名覆盖率上升、旧名下降,而不是总量下降。这里的数字仅用于说明比较方法,不代表任何真实项目结果。
如果该事件只用于一次性排查,没有连续趋势、没有告警阈值、也没有同比需求,那么直接改名并标注断点是可以接受的。但要在看板上写明“此处更换事件名”,否则后来的人仍可能把断点当成异常。
另一个例外是:旧名本身语义错误,继续保留会误导分析。此时应优先修正语义,同时用映射表保留历史可追溯性,而不是为了连续而保留错误命名。最终判断标准是:断点是否会影响你下一步的动作;如果会,就用别名或回填消除它,如果不会,就显式记录它。