Configure Pulse to Monitor Kafka With SCRAM and SSL

This page describes how to configure Pulse to securely access and collect metrics from a Kafka cluster that uses SCRAM authentication and SSL encryption.

Pulse supports Kafka clusters secured with SCRAM and SSL only in ODP-managed or standalone deployments.

Configure Pulse for Kafka on the ODP cluster

To allow Pulse to securely connect to Kafka that uses Scram and SSL on an ODP cluster, follow these steps:

  1. Run the cluster configuration command: accelo config cluster.
  2. If Kafka is using SCRAM authentication, you will be prompted with the following question. Select Y and provide the full path to your SCRAM config file.

Note Copy the kafka_jass.conf file to the Pulse node and provide its location when prompted during Pulse installation.

Bash
Copy
  1. If Kafka is using TLS/SSL, you will be prompted with the following question. Select Y and provide the full path to your certificates.

Note Copy the cacerts and jssecacert certificates to the Pulse node and provide its location when prompted during Pulse installation.

Bash
Copy

These prompts appear in the Accelo CLI only when Kafka in the ODP cluster is configured for SCRAM-based authentication and using TLS/SSL. Specifically, the saslenabledmechanism parameter must be set to either SCRAM-SHA-256 or SCRAM-SHA-512.> > To verify or configure this setting in ODP (Ambari):> > 1. Open the Ambari UI.> 2. Navigate to Kafka > Configs > Advanced Kafka-broker.> 3. Locate the parameter saslenabledmechanism.> 4. Ensure the value is set to either SCRAM-SHA-256 or SCRAM-SHA-512.

Configure Pulse for Standalone Kafka Cluster

SSL Configuration

When SSL is enabled for Kafka clusters, certificate handling in Acceldata Pulse involves two different consumers, and they must be configured correctly.

  1. Certificates for Accelo Binary
  • Location: $ACCELDATA_HOME/config/security/cacerts

  • Requirements:

    • Certificates must be in PEM format
    • Place all required CA / broker certificates here
  • Purpose:

    • Used by the Accelo binary to establish secure connections with Kafka brokers
  1. Certificates for Kafka Connector

Format:

  • Truststore (JKS/PKCS12)
  • Keystore (JKS/PKCS12)

Requirements:

  • Store truststore and keystore separately
  • Use distinct filenames (avoid overwriting/conflicts)

Purpose:

  • Used by the Kafka connector for SSL authentication and communication

To allow Pulse to securely connect to Kafka that uses Scram and SSL on a standalone cluster, follow these steps:

  1. Run the cluster configuration command: accelo config cluster.
  2. In the Deployment type, select Stand-Alone.
  3. Select Kafka3 Standalone component.
  4. Enter Cluster Name.
  1. Enter Kafka Version.
  2. Enter Kafka bootstrap server’s URI.
  1. Select scram as the security type.
  1. Select Yes as TLS is being used.
  1. Enter the Scram_jaas.conf file path.
  1. Select the inter-broker scram protocol .
  1. Enter TLS certificate file path.

Copy the cacerts and jssecacert certificates to the Pulse node and provide its location when prompted during Pulse installation.

  1. Enter TLS key file path.
  1. Enter TLS CA file path.
  1. Select Y for certification verification.
  1. If the above configs are correct CLI will automatically fetch the list of brokers. If the listing is correct select y .
  1. Enter the Controller details( zookeeper/kraft )
  1. Once the above configuration is done, you can proceed with accelo deploy core.

Update Kafka Connector Configuration

  1. Edit the file: $AcceloHome/config/docker/addons/ad-kafka-connector.yml.
  2. Set the following parameters.
Bash
Copy

Push the Configuration

Apply the updated configuration to the database.

Bash
Copy

Troubleshooting

If you encounter the following error while configuring Kafka with SCRAM and SSL, update the ad-kafka-connector file with the specified parameters.

Bash
Copy

To resolve the issue, update the following fields in the ad-kafka-connector file:

  • Environment Variable
Bash
Copy
  • Volume Mount
Bash
Copy

After adding the environment variable and volume mount details, the ad-kafka-connector configuration file appears as follows.

Bash
Copy
Type to search, ESC to discard
Type to search, ESC to discard
Type to search, ESC to discard