- 3 minutes to read

Azure Event Hub Configuration Example

Unlock seamless integration by configuring the Nodinite Pickup Logging Service to fetch JSON Log Events directly from your Azure Event Hub. This guide empowers you to set up secure, scalable, and reliable log event collection for your enterprise systems, with robust checkpointing and storage for compliance and analytics.

✅ Effortless integration with Azure Event Hub
✅ Secure and reliable log event collection
✅ Scalable setup for enterprise environments
✅ Robust checkpointing and long-term storage

graph TD subgraph "Azure Event Hub" storage(fa:fa-boxes Storage Container) roS(fal:fa-border-outer Event Hub Entity) end subgraph "Nodinite instance" roPS(fal:fa-truck-pickup Pickup Service) roS --> roPS roPS --- |Checkpoint| storage roPS --> |Long term storage|roDB(fal:fa-database Log Database) end

The diagram above illustrates how the Nodinite Pickup Logging Service interacts with Azure Event Hub entities, processes messages, and stores them in the Nodinite Log Database. The Storage Container is used for checkpointing to ensure reliable message processing.

Event Hub

Easily manage all your Azure Event Hub sources for log events in the 'EventHubs' section. The JSON Log Events on the event hub may originate from logging using a Policy from your API management entry points. For more details, see the 'Logging the Request/Response from the Azure API Management platform' user guide.

  • Use one or more Azure Event Hub entities as logging targets.
  • Assign a unique storage container to each Event Hub entity for checkpointing.

Important

Assign a unique storage container to each Event Hub entity. Sharing containers will overwrite checkpoints and disrupt logging operations.

The configuration file (Settings.json) uses JSON format. The default path is:

C:\Program Files\Nodinite\Logging Agent - Pickup Service\Settings.json
{
  ...
  "EventHubs": [
    {
      "Enabled": true,
      "LogAPI": "http://localhost/Nodinite/Dev/LogAPI/",
      "UseConfigurationDatabase": false,
      "ConfigurationDatabaseConnectionString": null,
      "EventHubConnectionString": "Endpoint=sb://replaceme.servicebus.windows.net/;SharedAccessKeyName=somename;SharedAccessKey=replaceme-1337=;EntityPath=replaceme",
      "EventHubName": null,
      "StorageContainerName": "event-hub-replaceme",
      "StorageAccountName": "replaceme",
      "StorageAccountKey": "replaceme-42=",
       "ReplaceRules": [
        {
          "Name": "Fix Endpoint real customer id to {customerId}",
          "ReplaceName": false,
          "ReplaceUri": true,
          "Pattern": "/([0-9]{4,})$",
          "Group1Value": "{customerId}"
        }]
    }]
  ...                      
}

EventHubs is an array of EventHub configurations. Each entry defines how the Log Agent connects to and processes messages from a specific Event Hub entity. This setup ensures your Nodinite JSON Log Events are reliably collected and managed.

Property Description Value Example Comment
EventHubConnectionString Connection string for EventHub Endpoint=sb://replaceme.servicebus.windows.net/;SharedAccessKeyName=[KeyName];SharedAccessKey=[Key];EntityPath=[EntityPathName]
EnableAmqpLinkRedirect Controls the EnableAmqpLinkRedirect property true (default) - currently not honoured See more info
EventHubName Name of the EventHub If EntityPath=[EntityPathName] is not in the connection string, provide the name here
StorageAccountName Storage Account Name for checkpointing See the Storage Account Name section below
StorageAccountKey Access key to the storage account See the Storage Account Keys section below
WebProxy Proxy 1.3.3.7:1337 Sets the EventProcessorOptions.WebProxy Property. When in use, also set TransportType = EventHubsTransportType.AmqpWebSockets
StorageContainerName Name of the storage container for checkpointing Checkpoints are used and written to storage
Enabled See the Shared Configuration section for more info
LogAPI See the Shared Configuration section for more info
UseConfigurationDatabase See the Shared Configuration section for more info
ConfigurationDatabaseConnectionString See the Shared Configuration section for more info
ReplaceRules See the shared Replace Rules section for more info

Important

Restart the Nodinite Pickup Logging Service after making configuration changes to apply your updates.

Storage Account Name*

You can find the StorageAccountName in the Azure Portal as shown below:
Storage Account Name
Example of how to find the Storage Account Name in the Azure Portal.

Storage Account Keys

You can find the StorageAccountKey in the Azure Portal as shown below:
Access Keys
Example of how to find the Storage Account Keys in the Azure Portal.

Important

Use the value from a Key, not the connection string.


Next Step

Configure