0

我需要将日志写入通过 Kerberos 保护的 Kafka 主题。

我正在使用 log4j 1.2.17 和 Kafka 08.2.2。

KafkaLog4jAppender 支持的唯一选项是这些

var topic: String = null
var brokerList: String = null
var compressionType: String = null
var requiredNumAcks: Int = Int.MaxValue
var syncSend: Boolean = false

这不允许我设置任何 JAAS 选项,例如

com.sun.security.auth.module.Krb5LoginModule required
useKeyTab=true
keyTab="/keytabs/kafkaclient.keytab"
storeKey=true
useTicketCache=false
serviceName="kafka"
principal="kafkaproducer/_HOST@EXAMPLE.COM";

我是否必须开发一个接受 JAAS 详细信息的自定义 KafkaLog4jAppender,或者有没有办法使用 KafkaLog4jAppender 将日志写入安全的 kafka 主题?

4

1 回答 1

1

是的,如果你看看https://github.com/apache/kafka/blob/trunk/log4j-appender/src/main/java/org/apache/kafka/log4jappender/KafkaLog4jAppender.java你会注意到有您可以设置的一些 SASL 属性。你能用那些吗?

于 2016-02-12T00:42:25.897 回答