配置log4j以将其日志发送到Splunk?

Con*_*dky 2 log4j splunk

我需要将log4j日志发送到Splunk。我找到了几种解决方案:

  1. 使用REST API(例如curl -k -u admin:changeme -d "name=/tmp/myfile.log" -d "sourcetype=syslog" https://localhost:8089/servicesNS/admin/search/data/inputs/monitor
  2. 安装Splunk通用转发器
  3. 使用log4j附加程序,例如:

    Syslog追加器

    log4j.appender.splunk = org.apache.log4j.net.SyslogAppender log4j.appender.splunk.SyslogHost = localhost:8089 log4j.appender.splunk.layout = org.apache.log4j.PatternLayout log4j.appender.splunk.facility = LOCAL2 log4j.appender.splunk.layout.ConversionPattern = [%p]%t:%m%n

但是在我看来,如果splunk服务器和日志位于单独的计算机上,则第三种解决方案将无法工作。

第二种解决方案需要安装其他软件

谁能提出其他解决方案?

PS我试图使用开源Java库。但这没有给出结果。

小智 5

从我们的社区开发者之一@damiendallimore检验这个伟大的项目-https: //github.com/damiendallimore/SplunkJavaLogging

它提供了许多直接登录到Splunk的选项。

它还使用Splunk Java SDK:http : //dev.splunk.com/view/java-sdk/SP-CAAAECN