You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

多实例环境下Serilog步骤2、3日志丢失问题排查求助

日志丢失排查请求

运行环境与业务流程

运行环境为多实例架构,核心处理流程如下:

  1. 读取含15000条记录的文件,将每条记录附带条目ID插入queue-A;
  2. 实例从queue-A获取条目,在数据库创建对应记录,无论操作成功或失败均需记录日志,完成后将条目ID插入queue-B;
  3. 实例从queue-B获取条目,为数据库中对应记录创建property-X,无论操作成功或失败均需记录日志,完成后将属性ID插入queue-C;
  4. 实例从queue-C获取条目,为数据库中对应记录创建property-Y,无论操作成功或失败均需记录日志。

注:上述流程为顺序执行。

异常现象

在Datadog中发现步骤2和步骤3存在部分条目日志丢失:这些条目既无成功日志也无失败日志,但数据库中已创建对应记录/属性,仅日志缺失。

已排除的可能原因

  • 多实例导致Serilog写入异常:已配置Serilog参数 <add key="serilog:write-to:RollingFile.shared" value="true"/>,不同实例可正常写入同一日志文件,排除该可能;
  • 日志行数/文件达到限制:使用Serilog Async,默认缓冲区大小为10000条,满时不阻塞,每次日志量约3000-14000条,未达上限,排除该可能;
  • CPU占用过高无法处理日志:CPU占用约20%,资源充足,排除该可能;
  • Datadog遗漏日志文件:日志文件命名格式为File-Data-sequentialNumber,文件编号连续,排除该可能。

进一步观察到的规律

  • 生产环境:12000条条目中,有60条在步骤2丢失日志,60条在步骤3丢失日志;
  • NFT环境:步骤2和步骤3均有约1/4的记录丢失日志,呈现稳定规律——每处理4条丢失1条或每处理3条丢失1条。

恳请协助排查日志丢失的根本原因。

内容的提问来源于stack exchange,提问作者paddywide

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 21:04:55