返回

复仇星耀途

首页
关灯
护眼
字体:
第17章:熟悉的幽灵
上一页 目录 下一页
『章节错误,点此报送』
  双击打开。

  图片在屏幕上展开。

  同样是日志。

  同样是时间戳。

  同样是服务记录。

  ```

  [2022-07-1522:31:45.887]INFO数据导出服务-接收到导出请求请求ID:EXP-20220715-223145用户:lujian(李剑)导出数据集:灯塔_用户行为_样本_202207

  [2022-07-1522:31:46.112]INFO数据导出服务-开始处理导出请求:EXP-20220715-223145处理线程:导出线程-2

  [2022-07-1522:31:47.334]INFO数据导出服务-导出完成请求ID:EXP-20220715-223145输出文件:/export/灯塔_样本_20220715_223145.zip文件大小:2.3GB

  [2022-07-1522:31:47.889]AUDIT系统审计-操作:数据导出执行用户:lujian目标数据集:灯塔_用户行为_样本_202207审计ID:AUDIT-20220715-223147-001

  ```

  路容的视线在两个屏幕之间来回移动。

  左边,是星耀集团“深蓝计划”的审计日志。

  右边,是三年前天启科技“灯塔项目”的日志截图。

  时间不同。

  项目不同。

  公司不同。

  服务名称不同。

  但格式——

  [2025-03-1801:08:17.112]AUDIT系统审计-操作:数据隔离执行服务:审核服务目标数据包:DL-20250318-014723-8876审计ID:AUDIT-20250318-010817-001

  [2022-07-1522:31:47.889]AUDIT系统审计-操作:数据导出执行用户:lujian目标数据集:灯塔_用户行为_样本_202207审计ID:AUDIT-20220715-223147-001

  时间戳的毫秒数用点分隔。

  破折号后面永远跟着一个空格。

  操作描述后面是冒号加空格。

  执行者字段的写法。

  审计ID的生成规则:AUDIT-年月日-时分秒-序号。

  还有——

  路容把两张图片并排放在一起,放大细节。

  错误码的写法。

  天启科技的日志里,有一次网络超时的记录:

  ```

  [2022-07-1522:30:12.445]WARN数据传输-连接超时(错误码:NET_TIMEOUT;重试次数:3)

  ```

  分号。

  错误码后面是分号。

  但分号前面有一个空格。

  NET_TIMEOUT;

  她猛地切回星耀的日志窗口,搜索分号。

  找到了。

  在解密服务的某条警告日志里:

  ```

  [2025-03-1801:05:33.778]WARN解密服务-密钥缓存未命中(错误码:KEY_CACHE_MISS;已触发密钥重新加载)

  ```

  KEY_CACHE_MISS;

  分号。

  空格。

  然后分号。

  一模一样。

  路容的整个身体开始颤抖。

  不是冷——出租屋里的暖气还在工作,空气温热干燥。是那种从骨髓深处渗出来的寒意,沿着脊椎爬升,在头皮上炸开细密的刺痛。她的手指蜷缩起来,指甲陷进掌心。疼痛让她稍微清醒了一些,但视线依然模糊,屏幕上的文字在晃动。

  “若溪?”周哲的声音再次传来,这次带着明显的疑惑,“你那边还好吗?我这边看到你的鼠标很久没动了。”

  路容张开嘴。

  她想说话。想说“我没事”。想说“继续排查”。但喉咙像被什么东西堵住了,声带僵硬,发不出任何声音。她只能听见自己粗重的呼吸,在安静的房间里显得格外刺耳。

  “若溪?”

  她用力吞咽,口腔里干得发苦。手指在键盘上摸索,敲出两个字:“在。”

  “你找到什么了吗?”周哲问,“我这边倒是发现问题了。你看这个——”

  屏幕切换回数据流监控界面。周哲用鼠标圈出一段代码:“你的过滤规则,第87行,边界条件判断有问题。`if(error_rate>0.01&&data_volume>1000)`,这里用的是逻辑与,但实际应该用逻辑或。因为只要异常率超过1%或者数据量超过阈值,就应该告警。你用与的话,必须两个条件同时满足才会触发。所以之前那些零散的异常数据包没触发告警,直到今晚这个新数据源涌入大量数据,两个条件才同时满足。”

  他的声音轻松了一些,甚至带着点笑意:“小bug,我改一下就行。改完重新部署,告警应该就能解除。不过你设计这个规则的时候,是不是太谨慎了?怕误报太多?”

  路容盯着屏幕上被圈出的那行代码。

  她的代码。

  她故意留下的漏洞。

  她精心设计的鱼饵。

  现在,周哲轻松地找到了问题,轻松地修复了。他以为这只是新手工程师常犯的逻辑错误。他不知道这行代码背后藏着什么。不知道这个漏洞是故意留下的。不知道这个告警是她等待的契机。

  更不知道,就在他排查技术问题的这几分钟里,她已经看到了地狱。

  “若溪?”周哲又问了一次,“你确定没事吗?你的呼吸声有点重。”

  路容闭上眼睛。

  三秒。

  五秒。

  十秒。

  她重新睁开眼睛,手指在键盘上敲击,通过聊天窗口发送消息:“没事,刚才在对比日志。你说得对,是我考虑不周。谢谢指正。”

  发送。

  然后她关掉了麦克风。

  她需要安静。

  需要绝对的、彻底的安静。

  周哲在耳机里说了什么,她听不见。她只看见聊天窗口里弹出他的回复:“客气什么,一起解决问题嘛。我改好了,正在重新部署。大概两分钟后生效。你那边可以继续监控异常率的变化。”

  路容没有回复。

  她的目光重新回到那两个并排的屏幕上。

  左边,星耀。

  右边,天启。

  相同的日志格式。

  相同的标点习惯。

  相同的空格用法。

  相同的分号前面加空格的诡异细节。

  这不是巧合。

  这不是“行业通用规范”——她在这行干了七年,看过无数公司的系统日志。有的用方括号,有的用圆括号。有的时间戳精确到秒,有的到毫秒。有的错误码用下划线,有的用点号。有的在冒号后面加空格,有的不加。有的审计ID用UUID,有的用自增数字。

  但像这样,每一个细节都吻合——

  只有一种可能。

  写这些日志记录的服务,是同一个程序员开发的。

  或者更准确地说,设计这些日志格式规范的人,是同一个人。

  李剑。

  路容的嘴唇无声地动了一下,念出这个名字。

  三年前,他是天启科技的技术副总裁,负责“灯塔”项目的整体架构。所有核心服务的日志规范,都是他亲自审核定稿的。路容记得很清楚,因为当时她还为此和他争论过——李剑坚持要在分号前面加空格,说这样“更美观”;路容认为这不符合大多数编程语言的惯例,容易造成解析问题。最后李剑用职权压了下来:“按我的规范来。”

  她当时只觉得这个人固执。

  现在她知道了,那不是固执。

  那是习惯。

  是烙印。

  是无论换到哪家公司、哪个项目、哪个系统,都会不自觉带上的个人印记。

  就像指纹。

  而现在,这个指纹,出现在了星耀集团的“深蓝计划”里。

  (本章未完,请点击下一页继续阅读)
第17章:熟悉的幽灵(2/3).继续阅读
《 加入书签,方便阅读 》
上一页 目录 下一页