3

我需要将我的 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 appender,例如:

    系统日志附加器

    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 库。但它没有给出结果。

4

1 回答 1

5

从我们的一位社区开发人员@damiendallimore 那里查看这个伟大的项目 - https://github.com/damiendallimore/SplunkJavaLogging

它提供了许多用于直接记录到 Splunk 的选项。

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

于 2012-04-04T17:04:06.233 回答