magnascale
Menu
AZURE EVENT HUBS

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 Marketplace
INSTALLATION & CONFIGURATION

What 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
    A powershell script is provided to set up permissions after deployment.
  • 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

  1. 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.
    Using the script:
    • 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

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:

  1. Go to the Managed Resource Group, select the App Service, and click its URL
    • Seeing a 404 is expected—this means it is operational.
    • For security reasons the webGUI is not used for configuration.
  2. Navigate to the Configuration Storage Account → Containers → config
    • Download config.yaml and open in an editor

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.