跳转到内容

操作日志工作原理

背景

业务项目必不可少需要针对业务流程操作做审计,记录何人在何时做了何操作。为此,Trantor 从机制上提供了操作日志的功能,但业务方在使用过程中时常碰到日志相关问题,如日志突然无法展示、某个模型的操作没有被记录下来等。为了方便业务排查日志问题,同时也避免重复答疑,这里介绍下操作日志的工作原理。

工作流程

操作日志的工作流程如下图所示:

详细流程如下:

  1. 在统一工作台执行某个操作时,触发业务 runtime func/flow 执行,执行时,收集用户IP、操作时间点、执行动作等信息,通过 http 方式发送给 Metastore 服务,存入 Redis。
  2. func/flow 内利用 Datastore 提供的 SDK 持久化数据,操作有新增、更新、删除。
  3. DS 感知新增/更新/删除操作,若当前变更模型订阅了日志,则发送数据新增/更新/删除消息至 MQ,更新消息包含更新前后内容。
  4. Metastore 服务从 MQ 消费消息,根据消息内容的 reqId 从 redis 获取之前存入的数据,合并记录存成一条日志记录。

日志不展示排查流程

  1. 请根据 操作日志使用指南 排查环境变量是否配置、模型是否订阅。
  2. 若使用 DS rich client 模式,数据变更消息在业务侧发送,请检查各业务服务是否配置环境变量: SUBSCRIBE_VERSION: V2