我计划配置一个带有TCP-SSL附加器的Log4j2套接字附加器。
这是我在Log4j2网站上看到的配置。
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="warn" name="MyApp" packages="">
<Appenders>
<Socket name="socket" host="localhost" port="9500">
<JsonLayout properties="true"/>
<SSL>
<KeyStore location="log4j2-keystore.jks" password="guessme!"/>
<TrustStore location="truststore.jks" password="guessme!"/>
</SSL>
</Socket>
</Appenders>
<Loggers>
<Root level="error">
<AppenderRef ref="socket"/>
</Root>
</Loggers>
</Configuration>
在此配置中,Keystore
和TrustStore
文件包含什么?我没有这些文件。
我想把我的日志发送到Splunk TCP端口。
我是否需要从我的Splunk服务器创建带有SSL证书的truststore.jks
,以便我的服务器信任Splunk?
什么是log4j2-keystore.jks
,在哪里可以下载?我需要一个KeyStore
文件吗?里面应该放些什么?Splunk是否需要相应的公钥或可信证书?
发布于 2018-10-10 07:06:05
keystore
包含您的个人密钥和公钥(如果您拥有并想要使用它们)。它可以完全省略掉。
truststore
包含服务器的证书。您可以下载并打包为jks,如下所示:
$ echo -n | openssl s_client -connect log-server.tld:5010 -servername log-server.tld \
| sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' | tee "server.crt"
$ keytool -import -alias log-server-certificate-alias -keystore log-server-cert.jks -file server.crt
后者将提示您输入将在日志配置中使用的密码。
我在使用logstash时遇到了类似的问题,并在这里发布了我的发现的简要总结:https://rekowski.info/home/technical/java/log4j2-socket-appender-logstash-kibana-ssl-tls.md
https://stackoverflow.com/questions/50163146
复制相似问题