代码之家  ›  专栏  ›  技术社区  ›  Catfish

Splunk HttpEventCollectorLogbackAppender如何设置源和主机?

  •  10
  • Catfish  · 技术社区  · 9 年前

    我使用Splunk-HttpEventCollectorLogbackAppender自动将应用程序日志发送到Splunk。我一直在尝试设置主机、源和源类型,但没有成功将它们发送到Splunk。

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

    这里的文档告诉您哪些选项是可用的,并说明它们需要作为查询字符串传递,但由于我使用的是开箱即用的Splunk appender,我不确定如何设置这些选项。

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

    Splunk logback附加器:

    ...
    <!-- 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 回复  |  直到 9 年前
        1
  •  7
  •   roby    9 年前

    有什么二传吗 HttpEventCollectorLogbackAppender 可以添加到您的logback配置中。

    以便调用 setHost , setSource setSourcetype

    <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>
    
        2
  •  0
  •   Palla    5 年前

    您可以这样设置:替换MyAppender、MyIndex、MySource,并在属性文件中配置URL和令牌,如果使用小批量,则会丢失一些事件/日志。下面是理想的配置,最高可达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>