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

详细流程如下:
- 在统一工作台执行某个操作时,触发业务 runtime func/flow 执行,执行时,收集用户IP、操作时间点、执行动作等信息,通过 http 方式发送给 Metastore 服务,存入 Redis。
- func/flow 内利用 Datastore 提供的 SDK 持久化数据,操作有新增、更新、删除。
- DS 感知新增/更新/删除操作,若当前变更模型订阅了日志,则发送数据新增/更新/删除消息至 MQ,更新消息包含更新前后内容。
- Metastore 服务从 MQ 消费消息,根据消息内容的 reqId 从 redis 获取之前存入的数据,合并记录存成一条日志记录。
日志不展示排查流程
- 请根据 操作日志使用指南 排查环境变量是否配置、模型是否订阅。
- 若使用 DS rich client 模式,数据变更消息在业务侧发送,请检查各业务服务是否配置环境变量:
SUBSCRIBE_VERSION: V2。