2011-04-26 79 views
0

我有许多应用程序想要记录到Splunk。我将通过UDP监听器以XML格式发送数据。正在被发送的数据是这样的:Splunk错误地重写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看起来有覆盖开口节点,并且如导致日志级别数据丢失的结果以及它接收到的日期时间。发送它的应用程序使用nLog和log4j类型的目标(使用Log4JXmlEventLayout布局)。我已经将源类型配置为log4jxml(自定义名称),但我认为我需要告诉它不要在props.conf文件中使用日期/时间字段(但不太确定这是什么)。

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

任何帮助将是最受欢迎的。

回答

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\ 

我希望这可以帮助别人出去