Splunk HttpEventCollectorLogbackAppender 如何设置源和主机?
Splunk HttpEventCollectorLogbackAppender how to set source and host?
我正在使用 Splunk HttpEventCollectorLogbackAppender 自动将应用程序日志发送到 Splunk。我一直在尝试设置主机、源和源类型,但没有成功将它们发送到 Splunk。
是否可以使用 Splunk HttpEventCollectorLogbackAppender 设置主机、源或源类型,如果可以,我该怎么做?
我一直在尝试发送 JSON,但似乎没有成功。
这是告诉您哪些选项可用的文档,它说它们需要作为查询字符串传递,但由于我使用的是开箱即用的 Splunk appender,我不确定如何设置那些。
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");
HttpEventCollectorLogbackAppender 上的任何设置器都可以添加到您的 logback 配置中。
因此,要调用 setHost
、setSource
和 setSourcetype
,您可以像这样将它们添加到您的 logback 配置中:
<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>
可以这样设置:替换MyAppender、MyIndex、MySource,在properties文件中配置URL和Token,如果使用小batch size会损失一些events/log下面是比较理想的配置高达 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>
我正在使用 Splunk HttpEventCollectorLogbackAppender 自动将应用程序日志发送到 Splunk。我一直在尝试设置主机、源和源类型,但没有成功将它们发送到 Splunk。
是否可以使用 Splunk HttpEventCollectorLogbackAppender 设置主机、源或源类型,如果可以,我该怎么做?
我一直在尝试发送 JSON,但似乎没有成功。
这是告诉您哪些选项可用的文档,它说它们需要作为查询字符串传递,但由于我使用的是开箱即用的 Splunk appender,我不确定如何设置那些。
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");
HttpEventCollectorLogbackAppender 上的任何设置器都可以添加到您的 logback 配置中。
因此,要调用 setHost
、setSource
和 setSourcetype
,您可以像这样将它们添加到您的 logback 配置中:
<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>
可以这样设置:替换MyAppender、MyIndex、MySource,在properties文件中配置URL和Token,如果使用小batch size会损失一些events/log下面是比较理想的配置高达 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>