Splunk错误地重写xml输入

时间:2011-04-26 16:01:16

标签: log4j splunk

我有许多应用程序要记录到Splunk。我将通过UDP侦听器以XML格式发送数据。正在发送的数据如下所示:

<log4j:event logger="ASP.global_asax" level="INFO" timestamp="1303830487907" thread="15">
  <log4j:message>New session started</log4j:message>
  <log4j:properties>
    <log4j:data name="log4japp" value="4ef113dd-9-129483040292873753(4644)" />
    <log4j:data name="log4jmachinename" value="W7-SUN-JSTANTON" />
  </log4j:properties>
</log4j:event>

然而,当它被Splunk处理时,它看起来像是:

Apr 26 16:18:09 127.0.0.1 <log4j:message>New session started</log4j:message><log4j:properties><log4j:data name="log4japp" value="4ef113dd-9-129483040292873753(4644)"/><log4j:data name="log4jmachinename" value="W7-SUN-JSTANTON"/></log4j:properties></log4j:event>

基本上看起来Splunk看起来已经覆盖了开放节点,结果丢失了日志级别数据,并且收到了它的日期时间。发送它的应用程序正在使用带有log4j类型目标的nLog(具有Log4JXmlEventLayout布局)。我已经将sourcetype配置为log4jxml(自定义名称),但我想我需要告诉它不要对props.conf文件中的日期/时间字段做一些事情(但不太确定那是什么)。

我也在使用Splunk的Windows版本,因此文件路径与在线手册略有不同。

欢迎任何帮助。

1 个答案:

答案 0 :(得分:0)

事实证明我做错了两件事(也许更多,但我还没找到) 在 inputs.conf 文件中,我需要在输入定义中添加以下内容:

no_priority_stripping = true
no_appending_timestamp = true

我做错的第二件事是把这些文件放在

C:\Program Files\Splunk\etc\system\local\

当他们应该被放入

C:\Program Files\Splunk\etc\apps\search\local\

我希望这有助于其他人