- 4 minutes to read
</i> Configure Nodinite Pickup Service Logging Agent for Azure Event Hub Integration">

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 Pickup 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.

EventHubs

The EventHubs section lets you manage all Azure Event Hub sources for your log events. 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

You must have one unique storage container per unique Event Hub entity! Otherwise, you will overwrite the checkpoint, preventing the Logging feature from being operational.

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

You must restart the Nodinite Pickup Logging Service for configuration changes to take effect.

Storage Account Name

The StorageAccountName can be found as pictured below in the Azure Portal:
Storage Account Name
Find the Storage Account Name in the Azure Portal.

Storage Account Keys

The StorageAccountKey can be found as pictured below in the Azure Portal:
Access Keys
Find the Storage Account Key in the Azure Portal.

Important

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


Next Step

Configure