我有一个大多数默认的Splunk配置,它正确地将我的大部分日志消息从标准Java应用程序中分割开来。我们不覆盖任何与换行、合并或日期格式有关的默认设置。在某些情况下,Splunk似乎检测到多行日志事件上有日期,并在该行上不正确地拆分事件。我想知道如何防止这种情况发生。
下面是一个包含4个日志事件的示例--每个日志事件都以日期、时间戳和严重程度开始。请注意,第一和第四事件是单行日志事件,第二和第三事件是包含更多细节的更详细的多行日志事件。
在第二个事件中,Splunk正确地将该事件拆分为整个事件。然而,对于第三个事件,我们在“发生上”旁边写的日期与事件开始时的时间戳相差一毫秒或两毫秒。当发生这种情况时,Splunk将这些事件分解为多个事件。
值得注意的是,多行事件的行分隔符很可能是\n。我不能100%确定每个事件末尾的行分隔符是什么,但它也很可能是\n。
是否有任何方法可以防止Splunk检测到行中间的日期/时间戳,并根据该令牌拆分事件?
2021-08-27 20:57:34,860 ERROR [<redacted>][<redacted>] <redacted>
2021-08-27 20:56:24,118 ERROR [<redacted>][<redacted>] MESSAGE="
<redacted - more info>
<redacted - more info>
-- OCCURRED ON: 08/27/2021 20:56:24:11
<redacted - more info>
<redacted - more info>
<redacted - more info>
<redacted - more info>
<redacted - more info>
2021-08-27 20:56:11,221 ERROR [<redacted>][<redacted>] MESSAGE="
<redacted - more info>
<redacted - more info>
-- OCCURRED ON: 08/27/2021 20:56:11:220
<redacted - more info>
<redacted - more info>
<redacted - more info>
<redacted - more info>
<redacted - more info>
2021-08-27 20:57:09,960 ERROR [<redacted>][<redacted>] <redacted>发布于 2021-09-01 22:00:26
告诉斯普伦克在一行开头的日期之前打破事件。这将有助于告诉Splunk预期的时间戳格式:
LINE_BREAKER = ([\r\n]+)\d\d\d\d-\d\d-\d\d
TIME_PREFIX = ^
TIME_FORMAT = %Y-%m-%d %H:%M:S,%3Nhttps://serverfault.com/questions/1076328
复制相似问题