Azure Event Hubs

Use kPow with your Azure Event Hubs namespace.


kPow can connect to your Azure Event Hubs namespace(s) if you have enabled Kafka Surface. You can read about using Event Hubs with Kafka here.

You can verify that Kafka Surface has been enabled, by navigating to your Event Hubs namespace overview inside the Microsoft Azure portal:

Verifying Kafka Surface is enabled


Once you have verified Kafka Surface is enabled, visit the Security and authentication section of Azure's documentation to find Kafka configuration properties for each type of authentication mechanism.

For example, if you were to use Shared Access Signature (SAS) connection details, the environment variables passed to kPow would look like:
SASL_MECHANISM=PLAIN required username="$ConnectionString" password="{YOUR.EVENTHUBS.CONNECTION.STRING}";

Note: an extra environment variable CLUSTER_ID is required, as Azure event hubs does not provide a cluster ID when making an admin client request. The CLUSTER_ID must be unique across all clusters defined in kPow, and can be any unique identifier (eg, the namespace name of your event hub)

The AZURE_EVENT_HUBS environment variable must be set to true as Event Hubs does not support the topic configuration of set to -1 (which is set by kPow's audit log + Kafka Streams internal topics). Topics that normally have infinite retention will have a 7 day retention set in Event Hubs.

Event Hubs limitations

The vast majority of kPow's features work with Azure Event Hubs, with the exception of:

  • Broker disk information/metrics - as the admin client request does not return any log details

  • Broker configuration - as the admin client request does not return any broker configuration details