使用Splunk UF监视日志文件的截断时间比预期的要早,但是上传文件就可以了

时间:2019-07-15 14:58:36

标签: splunk

我在监视日志文件的通用转发器上有一个输入设置。 Splunk上的监视器似乎逐行读取文件(而不是正确读取多行事件),并且过早地截断日志条目。不过,将文件上传到Splunk Web UI还是可以的。

这是我尝试读取的日志条目的示例:

2019-07-08 22:25:42.314 INFO [MessageHandler.java:91] Processing the following message from Queue 
------------------------------------
<Metadata ready="false">
    <ApplicableStartTime>2019-07-07T23:11:39.000</ApplicableStartTime>
    <ApplicableEndTime>2019-08-04T23:36:29.000</ApplicableEndTime>
    <ActualStartTime>2019-07-07T22:49:51.000</ActualStartTime>
    <ActualEndTime>2019-08-04T23:58:50.000</ActualEndTime>
    <FileName>test.bsp</FileName>
    <FileID>...</FileID>
    <Status>...</Status>
    <Grade>...</Grade>
</Metadata>

------------------------------------

但是,当我通过分布式搜索来搜索这些数据时,我找到了一个看起来像这样的条目:

2019-07-11 17:00:27.192 INFO [MessageHandler.java:91] Processing the following message from Queue 
------------------------------------
<Metadata ready="true">

然后,当我在<ApplicableStartTime> XML标签中搜索时间时,我发现这是一个独立事件:

<ApplicableStartTime>2019-07-07T23:11:39.000</ApplicableStartTime>

似乎监视器正在拆分事件,而不是遵循props.conf中定义的换行规则(LINE_BREAKERTIME_FORMAT),然后日期解析器会随机花费一个时间作为日志时间。记录器可能在每一行之后都将文件刷新到磁盘,但这完全超出了我的控制范围。

这是我的props.conf中的源类型:

[my-sourcetype]
BREAK_ONLY_BEFORE_DATE =
DATETIME_CONFIG =
LINE_BREAKER = ([\r\n\s]*)\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2}\.\d{3}\s[\w+\s\[\w\.]+(\:\d+)?\]
MAX_EVENTS = 2000
MAX_TIMESTAMP_LOOKAHEAD = 23
NO_BINARY_CHECK = true
SHOULD_LINEMERGE = false
TIME_FORMAT = %Y-%m-%d %H:%M:%S.%3N
TIME_PREFIX = ^
TRUNCATE = 50000
category = Custom
description = This is my source type yo
pulldown_type = true

当我通过直接上传文件(使用localhost上的Web UI)进行测试时,此源类型可以正常工作,并且将整个日志条目作为单个条目读取。如何调整此设置,使其也适用于monitor://输入类型?当我使用通用转发器设置时,可能是索引器导致了问题,或者可能没有刷新源类型?作为非管理员用户,我目前还没有一种检查该方法的方法(是否可以将其作为普通用户查看?)。


这是Web UI中上载的属性。

screenshot of file upload props


快速更新:我还尝试在monitor://节下的inputs.conf中使用这些参数:

multiline_event_extra_waittime = true
time_before_close = 15

它似乎并没有影响它。

0 个答案:

没有答案