Service Bus Queue Configuration Example
Easily integrate your enterprise systems by configuring the Nodinite Pickup Logging Service to fetch JSON Log Events directly from your Azure Service Bus Queues. This guide empowers you to set up secure, scalable, and reliable log event collection for your organization using Azure Service Bus.
✅ Seamless integration with Azure Service Bus for real-time log event collection
✅ Secure and compliant long-term storage of log data
✅ Scalable configuration for enterprise environments
✅ Automated error handling and message validation for reliable operations
Diagram: Azure Service Bus Queue integration showing message flow from queue to Pickup Service, with color-coded components (blue=queue, green=healthy/active services, red=dead letter queue for failed messages). Invalid messages are routed to the Dead Letter Queue for review.
Service Bus Queues
The Service Bus Queues section lets you manage all Azure Service Bus Queue sources for your log events.
In the Remote Configuration GUI, navigate to the Service Bus Queues tab. Here, you can add, edit, or remove Service Bus Queue configurations. Each configuration defines how the Nodinite Pickup Log Events Logging Service connects to and processes messages from a specific Azure Service Bus Queue.

Example of the Service Bus Queues configuration tab in the Remote Configuration GUI.
Click the Add button to create a new Service Bus Queue configuration. Fill in the required fields, such as connection string and queue name settings. You can also configure Replace Rules for advanced message processing.

Example of a Service Bus Queue configuration accordion in the Remote Configuration GUI.
Expand the accordion for each Service Bus Queue configuration to access advanced settings, including Replace Rules for message processing. These rules allow you to modify message content before it's stored in Nodinite, ensuring consistency and compliance with your logging standards.
Important
Ensure that your Service Bus Queue connection string has the necessary permissions (Manage, Send, Listen) and that the queue exists in your Azure Service Bus namespace. Test connectivity before enabling a configuration.
General tab
The General tab provides the fundamental settings for your Service Bus Queue configuration within the Remote Configuration GUI.

The General tab allows you to enable/disable the configuration and provide a display name and description.
The following key fields are required:
| Field | Description | Required | Notes |
|---|---|---|---|
| Enabled | Checkbox to activate or deactivate this Service Bus Queue configuration | No | When unchecked, the Pickup Service will skip this configuration |
| Display Name | User-friendly name for this Service Bus Queue source configuration | Yes | Used in the GUI and logs for easy identification |
| Description | Optional detailed description of the Service Bus Queue configuration | No | Helps document the purpose and details of this specific queue setup |
Follow these guidelines when configuring the General tab:
- Use descriptive names that clearly indicate the queue and purpose (e.g., "Production Queue - Order Events")
- In the Description field, note important details such as the queue's business purpose, owner contact, or any special processing notes
- The Display Name appears throughout the Nodinite interface, so keep it concise yet meaningful
- Leave the configuration disabled during initial setup if you're not ready to start collecting log events
Source tab
The Source tab contains the Service Bus connection configuration and queue settings.

The Source tab contains settings for connecting to Azure Service Bus.
The following key fields must be configured for queue connectivity:
| Field | Description | Required | Notes |
|---|---|---|---|
| Connection String | Service Bus connection string with authentication | Yes | Example: Endpoint=sb://yournamespace.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=yourkey |
| Queue | Name of the Service Bus Queue to consume messages from | Yes | Specify only the queue name (e.g., "pickup", "log-events") |
| Backout Queue | Name of the backout queue where failed or invalid messages are moved | No | The Pickup Service automatically moves messages that fail processing to this queue for review and troubleshooting |
Follow these guidelines when setting up the Source tab:
- Ensure your connection string includes the necessary permissions (Manage, Send, Listen at minimum)
- Connection strings can be copied from the Azure portal under Shared Access Policies
- Use connection strings with the fully qualified namespace (yournamespace.servicebus.windows.net)
- Test the connection before enabling to verify credentials and queue accessibility
- For multiple queues, create separate configurations for each queue
- Configure a Backout Queue to capture failed or invalid messages for troubleshooting
- Monitor both the input queue and backout queue health using the Message Queueing Agent to track queue depth, message age, and performance metrics
- The backout queue should exist in the same Service Bus namespace as the source queue
- Keep connection strings secure and never embed them in documentation or version control
- For production environments, prefer Azure AD App Registration authentication over shared access keys for enhanced security and auditability
Destination tab
The Destination tab configures where processed log events are stored. By default, events are sent to the Nodinite Log API where they are written to the Log Database for long-term storage and analysis.

The Destination tab contains settings for connecting to the Log API and authentication options.
The following key fields are required for destination configuration:
| Field | Description | Required | Notes |
|---|---|---|---|
| Use Log API | Checkbox to enable sending events to the Log API | Yes | When checked, processed events are written to the Log Database through the Log API |
| Log API Base URL | Base URL for your Log API instance | Yes | Example: http://{host}:{port}/LogAPI/ |
| Protected | Checkbox to enable OAuth 2.0 authentication | No | Check this if you are using an authenticated Log API |
| Client ID | Public identifier for your application (issued by IDP) | Conditional | Required when Protected is checked |
| Client Secret | Confidential key for application authentication | Conditional | Required when Protected is checked; keep this secure |
| Scope | Space-separated list of access permissions | Conditional | Required when Protected is checked (e.g., read write) |
| IDP Token Endpoint | URL where authentication requests are sent | Conditional | Required when Protected is checked; this is where the client obtains access tokens |
Follow these guidelines for the Destination tab:
- Always ensure Use Log API is checked to maintain proper log event storage
- For local/development environments, use unprotected Log API URLs (e.g.,
http://localhost:40002/LogAPI/) - For production environments with authentication, check the Protected checkbox and provide valid OAuth 2.0 credentials
- When using Protected authentication, ensure your Client ID, Client Secret, and Scope are correctly configured with your identity provider (IDP)
- The IDP Token Endpoint must be accessible from the Pickup Service instance
- Keep Client Secret values secure and never commit them to version control
Queue Authentication tab
The Queue Authentication tab provides authentication configuration options for connecting to Azure Service Bus.

The Queue Authentication tab allows you to configure credentials for Service Bus access.
The following authentication methods are supported:
| Authentication Method | Use Case | Configuration |
|---|---|---|
| Shared Access Key | Development and testing environments | Connection string with SharedAccessKeyName and SharedAccessKey |
| Managed Identity | Production environments with Azure AD integration | Use App Registration (client credentials) with Tenant ID, Client ID, and Client Secret |
| Azure AD App Registration | Enterprise environments requiring identity-based access | Provide credentials issued by your Azure AD tenant |
Follow these security guidelines for Queue Authentication:
- For production environments, prefer Managed Identity over shared access keys
- When using App Registration, ensure the application has the appropriate Service Bus roles assigned
- Regularly rotate credentials and access keys
- Use the principle of least privilege when assigning permissions
- Store sensitive credentials securely using Secret Management features
- Test authentication configuration before enabling the source
Replace Rules
Read about Replace Rules in the shared configuration section. Replace Rules allow you to modify message content before it's stored in Nodinite, ensuring consistency and compliance with your logging standards.

The Replace Rules tab allows you to configure rules for modifying message content.
Configuration file
Note
This section applies for older versions (<7.1.x) of the Nodinite Pickup Log Events Logging Service.
C:\Program Files\Nodinite\Logging Agent - Pickup Service\Settings.json
{
...
"ServiceBusQueues": [
{
"Enabled": true,
"LogApi": "https://localhost/Nodinite/Dev/LogAPI/",
"UseConfigurationDatabase": false,
"ConfigurationDatabaseConnectionString": null,
"ConnectionString": "Endpoint=sb://nodinite.com/servicebus.windows.net/;SharedAccessKeyName=yoursecretkey;SharedAccessKey=ib2+ofZaFyEhbwzgn1nAhw2XDY3UVc1JefdlGgLGIbb=",
"Queue": "pickup",
"ReplaceRules": [
{
"Name": "Fix Endpoint real customer id to {customerId}",
"ReplaceName": false,
"ReplaceUri": true,
"Pattern": "/([0-9]{4,})$",
"Group1Value": "{customerId}"
}
]
}
]
...
}
ServiceBusQueues is an array of ServiceBusQueue configurations. Each entry defines how the Log Agent connects to and processes messages from a specific Azure Service Bus Queue. This setup ensures your Nodinite JSON Log Events are reliably collected and managed.
| Property | Description | Value Example | Comment |
|---|---|---|---|
| ConnectionString | Service Bus Connection string | Endpoint=sb://nodinite.com/servicebus.windows.net/;SharedAccessKeyName=yoursecretkey;SharedAccessKey=replaceme |
Copy from the Azure portal |
| Queue | Name of the Service Bus Queue to pick up JSON Log Event from | NOTE: Only the queue name | |
| 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
When you are done editing the configuration, you must restart the Nodinite Pickup Logging Service for configuration changes to take effect.
Next Step
- Configure - Set up your Service Bus Queue integration
- Remote Configuration Guide - Learn the GUI setup process
Related Topics
- JSON Log Event - Message format specification
- Replace Rules - Transform message content
- Log Databases - Where log events are stored
- Log API - REST endpoint for log events
- Pickup Service Overview - Feature overview
- Shared Configuration - Common settings guide