Splunk HttpEventCollectorLogbackAppender如何设置源和主机?

时间:2016-12-06 21:34:03

标签: java logback splunk

我使用Splunk HttpEventCollectorLogbackAppender自动将应用程序日志发送到Splunk。我一直试图设置主机,来源和源类型,但没有运气将它们发送给Splunk。

是否可以使用Splunk HttpEventCollectorLogbackAppender设置主机,源或源类型,如果是,我该怎么做?

我一直试图发送JSON,但它似乎无法正常工作。

这里提供的文档告诉您哪些选项可用,并且说它们需要作为查询字符串传递,但由于我使用现成的Splunk appender i'我不知道如何设置。

http://dev.splunk.com/view/event-collector/SP-CAAAE6P

Splunk logback appender:

...
<!-- SPLUNK appender -->
  <appender name="SPLUNK" class="com.splunk.logging.HttpEventCollectorLogbackAppender">
    <url>http://myurl:8088</url>
    <token>mytoken</token>
    <disableCertificateValidation>true</disableCertificateValidation>
    <batch_size_count>1</batch_size_count>
    <layout class="ch.qos.logback.classic.PatternLayout">
      <pattern>%logger: %msg%n</pattern>
    </layout>
  </appender>

<root level="INFO">
  <appender-ref ref="SPLUNK"/>
</root>
...

示例日志行

Logger logger = LoggerFactory.getLogger(MyClass.class);
logger.debug("I'm logging debug stuff"); 

2 个答案:

答案 0 :(得分:3)

HttpEventCollectorLogbackAppender上的任何setter都可以添加到您的logback配置中。

因此,要调用setHostsetSourcesetSourcetype,请将它们添加到您的回溯配置中,如下所示:

<appender name="SPLUNK" class="com.splunk.logging.HttpEventCollectorLogbackAppender">
    <url>http://myurl:8088</url>
    <host>x</host>
    <source>y</source>
    <sourcetype>z</sourcetype>
    <token>mytoken</token>
    <disableCertificateValidation>true</disableCertificateValidation>
    <batch_size_count>1</batch_size_count>
    <layout class="ch.qos.logback.classic.PatternLayout">
        <pattern>%logger: %msg%n</pattern>
    </layout>
</appender>

答案 1 :(得分:0)

您可以这样设置:替换MyAppender,MyIndex,MySource并在属性文件中配置URL和Token,如果使用小批量,则会丢失一些事件/日志,以下是理想的配置,最高配置为100 TPS

<Appender name="MYAppender"
    class="com.splunk.logging.HttpEventCollectorLogbackAppender">
    <url>${url}</url>
    <token>${token}</token>
    <index>MyIndex</index>
    <sourcetype>MySource</sourcetype>
    <eventBodySerializer>util.RawEventBodySerializer</eventBodySerializer>
    <disableCertificateValidation>true</disableCertificateValidation>
    <send_mode>parallel</send_mode>
    <batch_size_bytes>102400</batch_size_bytes>
    <batch_size_count>10</batch_size_count>
    <batch_interval>60000</batch_interval>
    <layout class="ch.qos.logback.classic.PatternLayout">
        <pattern>%m%n</pattern>
    </layout>
</Appender>