需求:准实时移除实时日志中的敏感数据
几个要求:
1. 每 5 分钟将线上日志中的敏感数据脱敏,例如手机号替换成 *
2. 不改现有的代码逻辑
3. 尽可能的轻量化方案,因此限定系统自带脚本(shell 、perl 、python)
4. 日志文件较大 最大 3G, 每天归档,处理过程不能占用过多机器资源
5. 允许丢掉小批量日志, 尽可能少
6. 系统晚上九点之后,不会有用户使用
中间断断续续研究了四五种方案,结合 chatGPT 写的代码。 最终准备采取的方案:
1. 使用 perl 脚本
2. 每五分钟剪切日志文件的前 20M ,到新文件。 循环切分,数据量不会太大,切分过程丢数据少
3. 用 perl 处理新文件,20M 处理起来还是比较快。过程丢数据少
4. 晚上十一点把今天的日志再进行合并成一个
一起讨论下还有哪些更加优雅方案