我正在尝试使用 Splunk 为我的应用收集日志。我在端口 6514 上设置了 TCP 数据输入(在此端口上启用了 SSL)。从我的 Java 应用程序中,我能够连接到端口并发送日志。但是,当我在 Splunk Web 上检查这些日志时,它显示为 Hex 格式。
回退配置
<configuration debug="true">
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%date{ISO8601} [%thread] [%cyan(%C.%M\(\))] [%highlight(%level)] : %msg - %ex{short} %n</pattern>
</encoder>
</appender>
<appender name="sslsocket" class="ch.qos.logback.classic.net.SSLSocketAppender">
<remoteHost>127.0.0.1</remoteHost>
<port>6514</port>
<queueSize>20</queueSize>
<reconnectionDelay>20</reconnectionDelay>
<ssl>
<trustStore>
<location>file:///path/to/truststore.jks</location>
<password>truststorepassword</password>
</trustStore>
</ssl>
</appender>
<logger name="splunk.secure.logger" additivity="false" level="INFO">
<appender-ref ref="sslsocket"/>
</logger>
<root level="DEBUG">
<appender-ref ref="console" />
</root>
</configuration>
用法
公共类启动器{
private final static org.slf4j.Logger logger = LoggerFactory.getLogger("splunk.secure.logger");
public static void main(String[] args) {
logger.info("Testing SSL Socket Appender Log");
}
}
将调试输出记录回控制台
11:00:04,701 |-INFO in ch.qos.logback.core.joran.action.AppenderAction -
About to instantiate appender of type
[ch.qos.logback.classic.net.SSLSocketAppender]
11:00:04,720 |-INFO in ch.qos.logback.core.joran.action.AppenderAction -
Naming appender as [sslsocket]
11:00:04,763 |-INFO in
ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Assuming default type
[ch.qos.logback.core.net.ssl.SSLConfiguration] for [ssl] property
SPLUNK WEB 接收到的内容
Time Event
19 年 3 月 2 日上午 9:48:45.000
\xAC\xED\x00 主机 = 127.0.0.1 源 = tcp:6514 源类型 = logback
总之
从上面看,在我看来这不是连接问题,因为 Splunk 正在侦听端口 6514 并且能够捕获输入但捕获的输入显示为 HEX 而不是正常情况。
当我使用普通的 com.splunk.logging.TcpAppender 时,我的日志会在 splunk 上正确显示。
有没有我可能错过的其他配置
使用 com.splunk.logging.TcpAppender 时是否可以启用 SSL
是否有专用的 Splunk SSL appender 可以用来代替 ch.qos.logback.classic.net.SSLSocketAppender
欢迎任何其他建议。
小怪兽爱吃肉
相关分类