[QUESTION]:网络异常造成的轮转日志丢失问题 #1356
-
version: 1.8.2-release 输出插件:自定义的kafka_flusher_v2的改版(同步发送) 现象:我们在线上经历了一次kafka故障,影响时间大概20分钟(网络不通),复盘时发现有部分应用日志丢失,丢失的都是快速轮转的日志,而未轮转只在一个日志文件中打印日志不丢失。 初步复现排查发现:落checkpoint时会hold input及整个pipeline,而hold on fileinput和hold on PollingDirFile 早于 hold on Processor,在hold on processor(flusher)阻塞时,整个落checkpoint的事务会阻塞,同时不会监听inotify事件。导致轮转时的create事件没有被监听到丢失部分日志。 异常时日志:
请问一下大家这种处理网络异常的情况有没有什么最佳实践,以及我们这种case有没有什么办法可以规避掉丢日志。 |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 1 reply
-
从日志上看,hold on processor的时候卡住了。如果就当前的现象而言,升级ilogtail 2.0版本应该能解决这个问题,因为2.0dump checkpoint不需要processor hold on。 |
Beta Was this translation helpful? Give feedback.
-
我们发现在重启 ilogtail 的几乎同时发生日志轮转,轮转的日志整一个文件都会采集不到,钉钉群曾经提过,后来没找具体原因,可能是同一个问题,安排了监测任务,发现这种状况就再重启一遍 ilogtail,这样可以挽回大部分日志 |
Beta Was this translation helpful? Give feedback.
从日志上看,hold on processor的时候卡住了。如果就当前的现象而言,升级ilogtail 2.0版本应该能解决这个问题,因为2.0dump checkpoint不需要processor hold on。
看您在原有kafka的基础上进行了自定义,是否方便留一下钉钉方便进一步沟通?