- 7 minutes to read

How to enable Service Bus Relaying connections for Nodinite Log and Monitoring Agents

Easily connect and manage Nodinite Monitoring Agents anywhere—on-premise, in the cloud, or hybrid environments—using Microsoft Azure Service Bus Relaying. This guide empowers you to:

✅ Securely connect distributed Monitoring Agents across any network
✅ Optimize costs and performance with built-in caching and configuration tips
✅ Follow step-by-step setup for Service Bus Relaying and firewall rules
✅ Troubleshoot connectivity and security issues quickly

What is Service Bus Relaying?
The Service Bus relay service from Microsoft enables the Nodinite Monitoring Service to communicate with Nodinite Monitoring Agents. These agents can run in Azure datacenters, your on-premises enterprise, or even remote customer and partner sites.

graph TD subgraph "On-Premise" ro(fal:fa-watch-fitness Monitoring Service) end subgraph "Microsoft Azure" ro --> |outbound traffic| ro1(fal:fa-cloud Service Bus Relaying) end subgraph "Off-Site" ro3(fal:fa-monitor-waveform Any Monitoring Agent) --> |outbound traffic| ro1 end id1[*.servicebus.windows.net
443 Listeners on Service Bus Relay over TCP requires 443 for Access Control token acquisition
5671-5672 Advanced Message Queuing Protocol AMQP
9350-9354 Net.TCP]

Service Bus Relaying enables secure, scalable communication between distributed Monitoring Agents and the central Monitoring Service.

In essence, you can install and host Nodinite Monitoring Agents anywhere and everywhere! Simply install and configure the agent for Service Bus Relaying to unlock seamless integration.

Costs and pricing information

Running Nodinite Monitoring Agents with Service Bus Relaying incurs costs based on:

Note

Using Service Bus Relay requires an Azure account with a valid credit card and will incur costs.

sbcosts
Example: Azure Service Bus Relaying pricing overview For the latest pricing, see microsoft 'Service Bus pricing' page.

How to configure the Monitoring Agents to use Service Bus Relaying

This section covers the general steps for configuring any [Monitoring Agent][] to use Service Bus Relaying.

Prerequisites

  • Firewall
  • Azure Subscription with a valid credit card
  • Namespace—endpoint address must be unique; for multiple agents, use separate Namespaces or adjust the endpoint address and Service URI accordingly
  • Shared Access Signature security Key—see MDSN for details

Local Configuration

Each Monitoring Agent has a local configuration file (.config) with a commented Service Bus Relaying section. Remove the comments and enter your Service Bus Namespace details.

Important

This manual step requires RDP access and local admin rights. Restart the Monitoring Agent after editing. The README.txt will display the URI for use in Monitoring Agent Configuration.

  1. behaviorExtensions
  2. endpointBehaviors
  3. webHttpRelayBinding
  4. endpoint

appconfig
Example: Monitoring Agent configuration file for Service Bus Relaying

1. behaviorExtensions

Uncomment the behaviorExtensions section.
behaviorExtensions
Uncommenting behaviorExtensions in the config file

2. endpointBehaviors

Uncomment this section and update keyName and key as per your Azure portal setup.

3. webHttpRelayBinding

Uncomment this section.

4. endpoint

Uncomment this section and update ServiceBusNameSpace as per your Azure portal setup.
Service Bus Relay Namespace
Create/select the Service Bus relay namespace in Azure

Monitoring Agent Configuration

In Monitoring Agent Configuration, update:

  • Service URL
  • Enable Authentication and set the Authentication Key

Enter the Service URL for the installed Monitor Agent (from Readme.txt or the <endpoint address ... in %Monitoring Agent%.exe.config).
General
Service URL in Monitoring Agent Configuration

Security tab

A Service Bus Relay connection string format:

SharedAccessKeyName=%SharedAccessKeyName%;SharedAccessKey=%SharedAccessKey%;AuthenticationKey=%AuthenticationKey%

Security tab
Security tab for Service Bus Relay connection

Update these fields:

  1. SharedAccessKeyName—copy from Azure Portal (default: RootManageSharedAccessKey)
    SharedAccessKeyName
    SharedAccessKeyName in Azure Portal
  2. SharedAccessKey—copy from primary or secondary key
    SharedAccessKey
    SharedAccessKey in Azure Portal
  3. AuthenticationKey—provided by the Nodinite Monitoring Agent (from local Readme.txt)

Firewall

Open these outbound ports to '*.servicebus.windows.net' from both on-premise and off-site locations:

Port Name Inbound Outbound TCP UDP Comment
443 HTTPS Secure outbound traffic
5671, 5672 Secure AMQP
9350 - 9354 Net.TCP

Troubleshooting

To debug connectivity, enable WCF diagnostics logging. See Microsoft docs.

Add the following <system.diagnostics> section to the local config file (.config):

Important

The Windows Service Account running the Agent must have write access to the log folder (e.g., C:\Temp\WCFlog). Ensure the folder exists!

...
<configuration>
  <system.diagnostics>
    <sources>
      <Monitoring Agent Configuration name="System.ServiceModel"
              switchValue="Information, ActivityTracing"
              propagateActivity="true" >
        <listeners>
             <add name="xml"/>
        </listeners>
      </Monitoring Agent Configuration>
      <Monitoring Agent Configuration name="System.ServiceModel.MessageLogging">
        <listeners>
            <add name="xml"/>
        </listeners>
      </Monitoring Agent Configuration>
      <Monitoring Agent Configuration name="myUserTraceSource"
              switchValue="Information, ActivityTracing">
        <listeners>
            <add name="xml"/>
        </listeners>
      </Monitoring Agent Configuration>
    </sources>
    <sharedListeners>
        <add name="xml"
             type="System.Diagnostics.XmlWriterTraceListener"
             initializeData="C:\Temp\WCFlog\Error.svclog" />
    </sharedListeners>
  </system.diagnostics>
</configuration>
...

Contact our Support for additional guidance if you cannot resolve the problem.

Tip

Additional troubleshooting information may be available in the Windows Event Logs.


Nodinite 7 – Hybrid Connections with Azure Relay for New and Legacy Agents

Nodinite 7 introduces seamless support for Azure Relay Hybrid Connections, enabling both new and legacy Monitoring Agents to operate securely and efficiently across cloud, on-premise, and hybrid environments. This approach allows you to expose local agent endpoints to remote clients—without changing your existing agent implementation.

Concept Overview

graph TD subgraph "Azure Cloud" relay(fal:fa-cloud Azure Relay Hybrid Connection) end subgraph "On-Premise or Legacy Host" agent(fal:fa-server Nodinite Monitoring Agent) endpoint(fal:fa-link Local HTTP Endpoint) agent --> endpoint end client(fal:fa-user Remote Client) --> relay relay --> endpoint

Diagram: Azure Relay Hybrid Connection securely forwards requests from remote clients to local Nodinite Monitoring Agents, supporting both new and legacy endpoints.

Azure Relay Hybrid Connections act as a reverse-proxy, securely forwarding requests from the cloud to your local Monitoring Agent. External clients connect to the Azure Relay URL, and the relay transparently forwards requests to your agent’s local HTTP endpoint. This preserves all HTTP methods, headers (including X-ApiKey), and request bodies, ensuring compatibility with both new and old agents.

Key benefits:

  • ✅ Connect agents anywhere—cloud, on-premise, or hybrid—without network reconfiguration
  • ✅ No changes required to the agent’s WCF service implementation
  • ✅ Secure, scalable, and compatible with modern authentication and legacy endpoints
  • ✅ Centralized management and monitoring via Azure Portal

Old WCF-based agents required direct network access and manual endpoint configuration. Nodinite 7 uses Azure Relay Hybrid Connections, allowing agents to be exposed securely without modifying existing WCF code. The new approach supports both legacy and modern agents, simplifies remote access, and leverages cloud-native security and managemen

Step-by-Step Guide: Configure an Installed Agent for Remote Access

Follow these steps to enable remote access for your Nodinite Monitoring Agent using Azure Relay Hybrid Connections:

1. Prepare Your Environment

2. Create Azure Relay Resources

  • In the Azure Portal, create a Relay namespace and Hybrid Connection
  • Note the connection string and entity path for your Hybrid Connection

3. Update Agent Configuration

  • Open the agent’s configuration file (App.config or .exe.config)
  • Add or update the following settings under <appSettings>:
    • UseAzureRelay – set to true to enable relay mode
    • RelayConnectionString – paste the Azure Relay connection string
    • HybridConnectionName – specify the Hybrid Connection name (entity path)
    • LocalWcfBaseUrl – set to your agent’s local endpoint (e.g., http://localhost:8000)
    • Optional: tune timeouts and concurrency for performance

4. Restart the Agent Service

  • Restart the Windows service hosting your agent to apply configuration changes
  • Confirm the agent logs show the relay listener is online and ready

5. Test Remote Connectivity

sequenceDiagram participant Client as Remote Client participant Relay as Azure Relay participant Agent as Nodinite Agent Client->>Relay: Send HTTP request (with headers) Relay->>Agent: Forward request to local endpoint Agent->>Relay: Respond to request Relay->>Client: Return response

Diagram: Remote client sends requests to Azure Relay, which forwards them to the local Nodinite agent and returns the response.

  • Use a tool like curl or Postman to send requests to the Azure Relay URL
  • Include required headers (e.g., X-ApiKey, ServiceBusAuthorization) if your agent enforces authentication
  • Verify responses are forwarded from the local agent endpoint

6. Troubleshooting

  • If you receive 404 errors, check that the client URL matches the local endpoint path and the relay strips the entity path correctly
  • For 401/403 errors, ensure SAS tokens and policy rights are correct
  • For 500 errors, review agent logs for details on method, path, target, and status
  • Confirm UseAzureRelay=true is set and the service is restarted

7. Security and Performance Tips

  • Ensure TLS 1.2 is enabled for secure connections
  • Adjust connection limits for high concurrency scenarios
  • Use Azure Portal to monitor relay usage and manage access policies

By following these steps, you can enable remote, secure, and scalable access to Nodinite Monitoring Agents—regardless of their version or location. Azure Relay Hybrid Connections make it easy to modernize your integration landscape while supporting legacy agents and endpoints.


Next Step

Add or manage Monitoring Agent

Monitoring Agents
Monitoring Service
Microsoft Service Bus Relaying
Service Bus Relaying Pricing