Configuring the Kafka transport
The Kafka transport allows the probe to integrate with a Kafka server to consume events.
Kafka transport properties table
The following table describes the properties used to configure the kafkaTransport.properties file.
Property name |
Description |
---|---|
KafkaClientMode |
Use this property to set the transport as a Kafka client to run as a consumer or a producer. This property takes the following values: CONSUMER: A Kafka consumer reads data from topics. PRODUCER: A Kafka producer writes data to topics. |
ConnectionPropertiesFile |
Use this property to specify the JSON file holding the Kafka connection properties. |
Kafka connection properties table
The following table describes the properties used to configure the kafkaConnectionProperties.json file.
Property name |
Description |
|
---|---|---|
zookeeper_client |
target |
Use this property to specify the ZooKeeper endpoint. When this property is empty, the transport will not initiate connection to ZooKeeper. The default is empty. |
properties |
Use this property to specify the path to a file holding ZooKeeper client properties in key-value
format, for example: The default is empty. |
|
java_sys_props |
Use this property to specify the path to a file holding ZooKeeper client Java system properties required in a secure connection. The default is empty. |
|
topic_watch |
Use this property to enable the ZooKeeper topic watch service. Valid values are: true: Enable the ZooKeeper topic watch service. false: Disable the ZooKeeper topic watch service. The default is true. |
|
broker_watch |
Use this property to enable the ZooKeeper broker watch service. Valid values are: true: Enable the ZooKeeper broker watch service. false: Disable the ZooKeeper broker watch service. The default is true. |
|
brokers |
Use this property to specify broker endpoints in a comma-separated list. For example:
The brokers must belong to the same cluster managed by a zookeeper. The default is empty. |
|
topics |
Use this property to specify topics in a comma-separated list. For example:
The default is empty. |
|
Kafka_client |
properties |
Use this property to specify the path to a file holding Kafka client properties. The default is empty. |
java_sys_props |
Use this property to specify the path to a file holding the Kafka client’s Java system properties required in a secure connection. The default is empty. |
Kafka configuration for different connection protocols
Kafka supports following types of connection protocol:
SASL_PLAINTEXT
SASL_SSL
The following table describes the configuration required by each connection protocol.
Connection protocol |
Configuration required |
---|---|
|
Kafka producer properties
Note: Must combine with SASL-specific configurations.
|
|
Kafka producer properties
Java system properties
Note: Must combine with SASL-specific configurations.
|
The following table describes SASL-specific configurations.
SASL: Kafka user access control |
SASL: Kerberos |
---|---|
Java system properties
Example user_jass.conf
|
Java system properties
Example user_jass.conf When using IBM JDK
When using Oracle JDK
Note: This is the generic format of principal:
username/instance@realm . Some
organizations might use servicename instead of
username or without username
Consult your organization administrator for principal information. |
Kafka producer properties are configured in the file specified in the kafka_client.properties field.
Java system properties are configured in the file specified in the kafka_client.java_sys_props field.
In
broker list configuration, a broker endpoint without a protocol prefix
is assumed to be using the protocol configured in the security.protocol property.
An unconfigured security.protocol denotes PLAINTEXT
.