尽管优化后能在 8 线程下实现 iLogtail 对多行日志的采集和正则提取,但这种方法仍面临挑战:高资源需求(需占用 8 个 CPU 核心,对机器资源造成显著压力)、客户端限制(并非所有客户都有能力或意愿增加机器资源)、可扩展性问题(随业务压力增加客户端资源可能成为瓶颈)。
为应对这些挑战,阿里云日志服务推出了创新解决方案:写入处理器(IngestProcessor)。其工作原理是:通过 iLogtail 采集的日志数据首先经过 IngestProcessor,数据处理过程在日志服务(云端)中完成,而非客户端,从而显著减少客户端资源占用、释放计算能力。
IngestProcessor 不仅解决资源限制问题,还提供丰富的数据处理能力,包括字段提取(通过正则、Key-Value、JSON 等方式从原始字段提取新字段)、扩展字段、丢弃字段、数据脱敏、数据过滤等。由于它使用的 SPL 语法和 iLogtail 一致,可以直接把 iLogtail 的 SPL 语句复制过来,实现快速迁移。
效果上,在 10 个 shard 环境下测试,IngestProcessor 方案将客户端 CPU 占用从 16 核心降至 1 核心,减少 93.75%,同时保持 320MB/s 的高采集速率,与不解析正则时的多行采集极限速率接近。
注意事项:IngestProcessor 不支持日志聚合(将多个日志合并为一个),且该功能需要额外计费。




