Traffic changes.
Make room to adjust.
Event Hub Manager · Configurable scale-in and scale-out for Azure Event Hubs
Keep capacity in the conversation.
Event Hub Manager helps manage Azure Event Hubs capacity with configurable scale-in and scale-out. Explore the current documentation for how it works and how to configure it for your environment.
View on Microsoft MarketplaceWhat is Event Hub Manager?
Event Hub Manager is a managed application that monitors your Azure Event Hub namespaces and automatically scales the number of throughput units (TUs) or processing units (PUs) down when traffic is low—and back up when demand returns. By scaling in intelligently, it can significantly reduce Event Hub costs while preserving performance and Service-Level Objectives (SLOs).
Available today through the Microsoft Azure Marketplace.
Key capabilities
- Automated scale-in / scale-out using load heuristics you control
- Zero code change—works with any existing Event Hub workload
- Config-as-Code: a single YAML/JSON file stored in a Storage Account
- Bring-your-own-storage for configuration, logs, and reports
- Enterprise-ready: runs as a Managed Application with full RBAC isolation
Deploying the Azure Application – Support Guide
Pre-requisites
- Ensure the identity you’re deploying with has:
- Contributor permission to deploy the application
- User Access Administrator permission to assign access to manage the Event Hub namespaces
- The Appliance Resource Provider must have Contributor permissions to your subscription (this is an internal Microsoft service principal required to deploy managed apps).
- Create the following Azure resources:
- A Storage Account for configuration and generated reports
- A Storage Account for application logs
- A Service Plan (minimum: B1 tier for Dev/Test; all tiers supported for Production)
Deployment Instructions
- Find the application “Event Hub Manager” in the Azure Marketplace. Click Deploy
2.This Subscription needs to have an Application Service Plan that will host the Managed Application
Basics Tab:
- Select a Subscription and a Region this will house the Managed Application. This region needs to contain you Application Service Plan
- Select a Resources Group this will contain the Managed Application.
- Select the Application Service Plan that will host the Managed Application
- Enter an Application Name
- Under Managed Application Details, reuse or enter a custom name
- Save the Managed Resource Group Name you will use this name to configure the permissions of the Managed Application later
- Click Next
Configuration Settings Tab:
- Select the storage accounts for:
- Configuration and reports
- Application logs
- You can use the 1 storage account or different storage accounts. The storage account must be in the same region and subscription as the Managed Application.
- Click Next
Review + Create Tab:
- Check the box to agree to terms
- Click Create
- After deployment, click Go to resource
- If you didn’t save the managed resource group name, you can find it here
Configuration
- Use an account with Contributor and User Access Administrator permission to configure permissions
- You may use a script or configure manually
To Configure Manually: Find the System-Assigned Managed Identity of the managed app by browsing to the managed resource group and opening the managed application. - Assign the below mentioned Required Permissions to the Managed Identity.
- Download the script and edit the section that has the managed resource group. Replace it with your recently deployed managed resource group
- Run the permission configuration script via cloudshell. This will setup a custom role to manage the eventhubs
- You may use a script or configure manually
Required Permissions for the Managed Identity:
- Blob Data Contributor and Storage Account Contributor on both storage accounts
- Reader on the resource group containing Event Hubs
- Contributor on the Event Hub resources. Alternatively you can use a custom role. A role definition is provided for your convenience in the above script.
Next Steps:
- Go to the Managed Resource Group, select the App Service, and click its URL
- Seeing a
404is expected—this means it is operational. - For security reasons the webGUI is not used for configuration.
- Seeing a
- Navigate to the Configuration Storage Account → Containers → config
- Download
config.yamland open in an editor
- Download
Edit config.yaml:
Configuration is handled via a config.json file inside the configuration storage account. You can specify a set of subscriptions in which all Eventhubs will be managed, or a set of Resource Groups that have Eventhubs or the resourceID’s of the Event Hubs. A combination of the mentioned is also possible.
Example:“eventhubids”: [
“/subscriptions/your-sub-id”,
“/subscriptions/your-sub-id/resourceGroups/eventhubresourcegroup”,
“/subscriptions/your-sub-id/resourceGroups/eventhubresourcegroup/providers/Microsoft.EventHub/namespaces/eventhub”
]
For any additional support, please Contact Us.