Customize the event emitter configuration file to provide the information needed to
communicate with the Kafka services deployed for Business Automation Insights.
About this task
The IBM® Business Automation Navigator event emitter sends events in JSON format. These events are stored in Kafka. You can customize the configuration file based on the Kafka instance that is provided by
Business Automation Insights.
Note: In Business Automation Insights environment, the value of
${KAFKA_TOPIC} must be prefixed with icp4ba-bai-.
Procedure
-
Create a directory on a shared network drive visible to all application server instances that
are hosting the Navigator application, or on one node where the Navigator application
is deployed.
- In the directory, create a configuration file and name it
configuration with no extension.
- Edit the configuration file with a text editor and
define security settings such as for an SSL keystore and truststore, or for an SASL_SSL truststore.
Use the following example as a model for the contents of the configuration
file:
navigatoremitter.input.navigator.server=${NAVIGATOR_HOSTNAME}
navigatoremitter.output.kafka.topic=icp4ba-bai-navigator-ingress
navigatoremitter.output.kafka.bootstrap.servers=${KAFKA_HOST}:{PORT}
navigatoremitter.output.kafka.security.protocol=SASL_SSL
navigatoremitter.output.kafka.ssl.truststore.location=${KAFKA_BROKERS_TRUSTSTORE_FILE}
navigatoremitter.output.kafka.ssl.truststore.password=${KAFKA_BROKERS_TRUSTSTORE_PASSWORD}
navigatoremitter.output.kafka.ssl.enabled.protocols=TLSv1.2,TLSv1.3
navigatoremitter.output.kafka.ssl.truststore.type=PKCS12
navigatoremitter.output.kafka.ssl.endpoint.identification.algorithm=
navigatoremitter.output.kafka.sasl.mechanism=SCRAM-SHA-512
navigatoremitter.output.kafka.sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule required username=""{$KAFKA_SECRET}"" password="{$KAFKA_PASSWORD}";
Note: Hostname Verification
The
navigatoremitter.output.kafka.ssl.endpoint.identification.algorithm fields are
optional. If you experience problems with authenticating to Kafka and observe that removing these
fields resolves the authentication problem, you can disable the server hostname verification. Set
the
navigatoremitter.output.kafka.ssl.endpoint.identification.algorithm
parameter to an empty string. Example:
navigatoremitter.output.kafka.ssl.endpoint.identification.algorithm=
Use
the following information to clarify what values are included in the settings:
- navigatoremitter.input.navigator.server
- The Navigator server that has the configured navigator event emitter.
- navigatoremitter.output.kafka.topic
- The name of the Kafka topic where raw navigator events are stored.
- navigatoremitter.output.kafka.bootstrap.servers
- The list of Kafka servers that is used to bootstrap connections to Kafka. For connecting to a
Kafka cluster, this list must be in the format of host1:port1,host2:port2.
These servers, which might change dynamically, are used for the initial connection to discover the
full cluster membership. This list does not need to contain the full set of servers. You might want
to list more than one server in case one is down.
- navigatoremitter.output.kafka.security.protocol
- The value is SASL_SSL.
- navigatoremitter.output.kafka.ssl.truststore.location
-
The full path to the truststore where the Kafka server certificate was imported. Default path for a traditional WebSphere® node isC:\Program
Files\IBM\WebSphere\AppServer\profiles\AppSrv01\config\cells\backend1Cell01\nodes\backend1Node01\trust.p12.
The default path for a Navigator containerized deployment is
/shared/tls/truststore/pkcs12/trusts.p12.
- navigatoremitter.output.kafka.ssl.truststore.password
- The password to the truststore.
- navigatoremitter.output.kafka.ssl.enabled.protocols
- The value is TLSv1.2.
- navigatoremitter.output.kafka.ssl.truststore.type
- The file format of the truststore file.
- navigatoremitter.output.kafka.ssl.endpoint.identification.algorithm
- The value is HTTPS.
- navigatoremitter.output.kafka.sasl.mechanism
- The value is SCRAM-SHA-512.
- navigatoremitter.output.kafka.sasl.jaas.config
- The template is org.apache.kafka.common.security.scram.ScramLoginModule and
the required
username=\"<username>\" password=\"<userpassword>\";".
- The username value is the Kafka username.
- The user password value is the Kafka password.
-
If necessary, copy the directory to all other nodes where the Navigator
application is deployed.
-
Restart all application servers that are hosting the Navigator
application.