- 11 minutes to read

Prerequisites for the Pickup LogEvents Service Logging Agent

Get ready for a seamless, high-performance logging experience with the Nodinite Pickup Log Events Service Logging Agent. This page provides everything you need to prepare your environment for secure, reliable, and scalable integration—whether on-premises or in the cloud.

On this page, you will learn how to:

  • ✅ Ensure your environment meets all software and platform requirements
  • ✅ Configure user rights and firewall settings for secure operation
  • ✅ Optimize for high-performance, on-premises or cloud deployments
  • ✅ Apply best practices for integrating with message brokers, databases, and file systems
graph LR subgraph "Logging options" roLogSink("fa:fa-bolt Custom Logging Solution") --> roId1["fa:fa-list ActiveMQ Queue"] roLogSink --> roId5["fa:fa-folder File Folder (SMB)"] roLogSink --> roId2["fa:fa-list MSMQ Queue (deprecated)"] roLogSink --> roId8["fa:fa-database SQL Server"] roLogSink --> roId4["fa:fa-database PostgreSQL"] roLogSink --> roId6["fa:fa-list AnypointMQ"] roLogSink --> roId7["fa:fa-stream Azure Event Hub"] roLogSink --> roId3["fa:fa-list Service Bus Queue"] roLogSink --> roAMQP["fa:fa-list AMQP v1.0"] roAPIM["fa:fa-cloud-arrow-down APIM with Policy and Event Hub Logger"] roAPIM --> | <200KB | roPolicy1(Policy1) roAPIM --> | >200KB | roPolicy2(Policy2) roPolicy2 --> roBS["fa:fa-boxes Container"] roSLSB["Azure Service Bus Serilog sink"] roSLEH["Azure Event Hub Serilog sink"] roSLBS["Azure Blob Serilog sink"] end subgraph "Nodinite" roLogAPI(fa:fa-cloud-arrow-down LogAPI) roPS(fa:fa-truck-pickup Pickup Service)--> roLogAPI roPS -.- | High performance pipe | roDB(fa:fa-database Nodinite Configuration Database) roLogAPI --> roDB roId1 --> | Log Event | roPS roId2 --> | Log Event | roPS roId3 --> | Log Event | roPS roId4 --> | Log Event | roPS roId8 --> | Log Event | roPS roId5 --> | Log Event | roPS roId6 --> | Log Event | roPS roId7 --> | Log Event | roPS roBS --> | Log Event | roPS roSLBS ---> roBS roPolicy1 -->roId7 roSLEH ---> roId7 roSLSB ---> roId3 end

The diagram above illustrates the supported logging options and how the Pickup LogEvents Service Logging Agent integrates With Nodinite, message brokers, file systems, and databases.

You can install this agent on-premises using TCP/IP for local network access or in the cloud/off-site using Service Bus Relaying. As long as the Log API is accessible on the configured port, you can deploy flexibly. For high-performance installations, install the agent close to the database (ideally on the same network as Nodinite).

We recommend installing this agent near the Nodinite Core Services. This documentation covers local network setup (usually on the Nodinite server).

Verified Topic
Software Requirements
Source System User Rights
Windows User Rights
Nodinite SQL User Rights
Firewall Requirements

Software Requirements

Versions 7.0.4 and later require .NET 10 Hosting Bundle. .NET 10 minimum OS: Windows Server 2012 / 2012 R2.

Platform Requirements

Component Version Notes
Windows Server 2025, 2022, 2019, 2016, 2012 R2, 2012 Virtual machines are supported
.NET 10 Hosting Bundle New 7.0.4 Required for v7.0.4+ Download from Microsoft

Versions 6.0 - 7.0.3 require .NET Framework 4.8 or later.
Versions 5.4 and later require .NET Framework 4.6.2 or later.
Versions before 5.4 require .NET Framework 4.5.2 or later.

Message Queue Systems (Software Requirements)

System Version Notes
ActiveMQ 5.0+ Using OpenWire protocol
AMQP v1.0/ActiveMQ Artemis Active MQ 5.0+ Using AMQP protocol
AnypointMQ Anypoint MQ License One or more Queues must exist. Not available on free trial. Requires Anypoint MQ license
MSMQ Windows 2008 R2+ All MSMQ versions supported

Azure Services

Service Requirements Notes
Service Bus Active Azure subscription One or more Queues must exist
Event Hub Active Azure subscription Event Hub + Storage account (for checkpointing)
Blob Storage Active Azure subscription Container + Storage account

Database Systems (Software Requirements)

Database Version Notes
SQL Server 2012+ All editions supported. See SQL Connection Strings for connection details
PostgreSQL 9.0+ Supported for log event storage

Source System User Rights

The Pickup Service requires specific permissions on each source system. Configure credentials and permissions according to your source type:

Message Queue Systems (User Rights)

ActiveMQ - Basic authentication with Admin rights (ActiveMQ security)

AMQP - Basic authentication with Admin rights

Anypoint MQ - Basic auth or Connected Apps with Admin rights (AnypointMQ security)

MSMQ - Integrated Windows security: Peek, Read, Delete permissions

Azure Cloud Services

Azure Service Bus - Either SAS token connection string with Manage + Listen claims OR App Registration with Service Bus Data Receiver + Sender roles

Azure Event Hub - Either SAS token connection string with Manage + Listen claims OR App Registration with Azure Event Hubs Data Receiver + Sender roles; Storage account requires connection string or App Registration with Blob Data Reader/Contributor role

Azure Blob Storage - Either storage account connection string or SAS tokens with blob read/write permissions OR App Registration with Storage Blob Data Reader/Contributor role

File Systems

File Shares - Integrated Windows security: Read, Write, Delete permissions on SMB shares

Database Systems (User Rights)

PostgreSQL - Database user with SELECT, INSERT, UPDATE, DELETE on log event tables

SQL Server - Database user with:

  • public - logon rights
  • db_datareader - read access
  • db_datawriter - write access
  • db_ddladmin - better performance (optional)

Tip

For connection string examples and authentication options, see the comprehensive SQL Connection Strings guide.

For detailed configuration including connection strings and authentication examples, see the specific Configuration guides for each source type.


Supported Versions

Cloud technologies evolve rapidly. Nodinite always supports currently supported Microsoft API versions. Update Nodinite and the Pickup Log Events Service Logging Agent as needed.


What Windows User Rights does the Pickup LogEvents Service Logging Agent require?

The agent is installed as a Windows Service, usually on the Nodinite application server. Virtual machines are supported.

Service Account Options

New 7.0.4

Group Managed Service Account (gMSA) - Recommended for automated password management.

Traditional Account - Local named account or domain account (preferred).


What Nodinite SQL user rights does the Pickup LogEvents Service Logging Agent require?

If you are bypassing the Log API for performance reasons (the only valid reason), then the account running the Nodinite Pickup Log Events Service Logging Agent must have the following rights assigned:

Important

db_ddladmin is required for the service account to have proper rights to read statistics. Without this permission, performance may be degraded, especially for remote servers (linked servers). Read more in Microsoft's documentation.

Configuration Database Permissions

The Configuration Database requires:

  • db_datareader
  • db_datawriter
  • db_ddladmin
  • Execute rights on all existing and future stored procedures:
GRANT EXECUTE TO [Domain\user]

Replace [Domain\user] with the Windows account used for the Nodinite Pickup Log Events Service Logging Agent.

Tip

For detailed connection string configuration including Windows Authentication, SQL Authentication, and encryption settings, see SQL Connection Strings.

Log Database Permissions

All Log Databases (can be multiple) require:

  • db_datareader
  • db_datawriter
  • db_ddladmin

Firewall Requirements

Where you install the Nodinite Pickup Log Events Service Logging Agent in relation to the Nodinite Core Services and your log sources determines your firewall configuration. The diagram shows every host involved, with the agent on its own server; each arrow starts at the side that opens the connection. The agent only ever pulls from the sources, so each source needs one outbound rule from the Agent Server.

graph LR subgraph "Nodinite Core Services Server" roMonitoringService(fa:fa-watch-fitness Monitoring Service) roLogAPI(fa:fa-cloud-arrow-down Log API) end subgraph "Nodinite Agent Server" roPS(fa:fa-truck-pickup Pickup Service) end subgraph "SQL Server (Nodinite databases)" roDB(fa:fa-database Configuration and Log Databases) end subgraph "Target: Message brokers" roAMQ(fa:fa-list ActiveMQ / AMQP 1.0 broker) roMSMQ(fa:fa-list MSMQ - deprecated) end subgraph "Target: Databases" roSQL(fa:fa-database SQL Server) roPG(fa:fa-database PostgreSQL) end subgraph "Target: File Server (SMB)" roSMB(fa:fa-folder Log Event folders) end subgraph "Target: Azure" roSB(fa:fa-list Service Bus / Event Hubs) roBlob(fa:fa-boxes Blob Storage) roEntra(fa:fa-id-badge Microsoft Entra ID) end subgraph "Target: Anypoint MQ" roAny(fa:fa-list Anypoint MQ broker) end subgraph "Domain Controller" roDC(fa:fa-building Active Directory) end subgraph "DNS Server" roDNS(fa:fa-signs-post DNS) end subgraph "Azure Service Bus Relay (optional)" roRelay(fa:fa-cloud Relay namespace) end roMonitoringService --> |"Agent site port (v7)"| roPS roPS --> |"Log API site port"| roLogAPI roPS -.-> |"1433 (bypass Log API)"| roDB roPS --> |"61616 / 5671-5672"| roAMQ roPS -.-> |"1801, 135, 2101-2105"| roMSMQ roPS --> |"1433"| roSQL roPS --> |"5432"| roPG roPS --> |"445"| roSMB roPS --> |"443, 5671-5672"| roSB roPS --> |"443"| roBlob roPS -.-> |"443"| roEntra roPS --> |"443"| roAny roPS -.-> |"88, 389, 636"| roDC roPS --> |"53"| roDNS roMonitoringService -.-> |"443, 5671-5672, 9350-9354"| roRelay roPS -.-> |"443, 5671-5672, 9350-9354"| roRelay

Network diagram: the Monitoring Service manages the agent, the agent pulls Log Events from each configured source and posts them to the Log API (or, for high performance, writes directly to the Nodinite databases). Open only the source hops you use. Dashed arrows are optional hops.

Note

When the agent runs on the Core Services Server (the typical installation), you need no firewall rule between the Monitoring Service or the Log API and the agent. Modern firewalls are stateful and allow response traffic for established outbound connections automatically.

Between the Monitoring Service and the Pickup Service

From Nodinite v7, the agent is a Monitoring Agent with Remote Configuration: the Monitoring Service opens every connection to it. On Windows Server, Nodinite v7 hosts the agent as its own IIS web site, on a port you set per environment in the Nodinite Portal (Servers step). Earlier versions use a local settings.json file and need no rule for this hop.

Direction Source Destination Protocol Port(s) Purpose Notes
Inbound Core Services Server Agent Server TCP (HTTPS/HTTP) Agent site port Poll the agent, send Remote Configuration v7. No fixed default; use the port set in the Portal. Only when the agent is on a remote server

Option: Service Bus Relaying (cloud or hybrid)

Use Service Bus Relayed connections when Nodinite and the agent are on different networks. Both sides connect outbound to the Azure Relay namespace, so neither server needs an inbound rule; see the 'Azure Relay FAQs'. The agent still needs its own route to the Log API.

Direction Source Destination Protocol Port(s) Purpose Notes
Outbound Agent Server Azure Relay (*.servicebus.windows.net) TCP 443 HTTPS All versions
Outbound Agent Server Azure Relay (*.servicebus.windows.net) TCP 5671, 5672 Secure AMQP All versions
Outbound Agent Server Azure Relay (*.servicebus.windows.net) TCP 9350 - 9354 Net.TCP All versions
Outbound Core Services Server Azure Relay (*.servicebus.windows.net) TCP 443, 5671, 5672, 9350 - 9354 Monitoring Service side of the relay Same ports as the Agent Server

Between the Pickup Service and the Log API

Required in every installation, except for sources where you bypass the Log API (see the next hop).

Direction Source Destination Protocol Port(s) Purpose Notes
Outbound Agent Server Core Services Server TCP (HTTPS/HTTP) Log API site port Post Log Events to the Log API (https://{host}:{port}/LogAPI/) v7. The Log API is its own IIS web site; port set per environment in the Portal (Servers step). v6 and earlier: 80 (HTTP, local) or 443 (HTTPS, remote)

Performance Tip: When the Pickup Service and Log API are on the same server, use HTTP for better performance.

Between the Pickup Service and the Nodinite databases

Required only when you bypass the Log API for performance (see Nodinite SQL user rights). See also SQL Server Firewall Configuration.

Direction Source Destination Protocol Port(s) Purpose Notes
Outbound Agent Server SQL Server (Nodinite databases) TCP 1433 Configuration Database and Log Databases Default instance
Outbound Agent Server SQL Server (Nodinite databases) TCP / UDP Instance port / 1434 Named instance Use a static port for the instance (or allow its dynamic port, 49152-65535) and UDP 1434 (SQL Server Browser)

Between the Pickup Service and message brokers

Direction Source Destination Protocol Port(s) Purpose Notes
Outbound Agent Server Target (ActiveMQ broker) TCP 61616 ActiveMQ (OpenWire) Default; SSL typically uses 61617. Use the port in your Broker URI
Outbound Agent Server Target (AMQP 1.0 / Artemis broker) TCP 5672, 5671 AMQP (amqp://, amqps://) 5671 for SSL/TLS
Outbound Agent Server Target (MSMQ server) TCP 1801 MSMQ primary port ⚠️ Deprecated source
Outbound Agent Server Target (MSMQ server) TCP/UDP 135 RPC Endpoint Mapper Remote queues
Outbound Agent Server Target (MSMQ server) TCP 2101, 2103, 2105 MSMQ RPC communications See MSMQ Ports
Outbound Agent Server Target (MSMQ server) UDP 3527 MSMQ discovery/ping

Between the Pickup Service and Azure

Outbound only; allow the hostnames below, or the Pickup Server's public IP in the Azure resource firewall (see Configure Azure Storage firewalls).

Direction Source Destination Protocol Port(s) Purpose Notes
Outbound Agent Server Target (*.servicebus.windows.net) TCP 443, 5671-5672 Azure Service Bus and Event Hub HTTPS or AMQP over TLS. With AMQP link redirect enabled (Event Hub default), also allow the 104XX range; see the AMQP 1.0 protocol guide
Outbound Agent Server Target (*.servicebus.windows.net) TCP 9350-9354 Legacy Net.TCP Rarely used
Outbound Agent Server Target (*.blob.core.windows.net) TCP 443 Blob Storage and Event Hub checkpoint storage
Outbound Agent Server Microsoft Entra ID (login.microsoftonline.com) TCP 443 Token requests Only when you use an App Registration instead of a connection string

Between the Pickup Service and Anypoint MQ

Direction Source Destination Protocol Port(s) Purpose Notes
Outbound Agent Server Target (mq-<region>.anypoint.mulesoft.com, anypoint.mulesoft.com) TCP 443 Anypoint MQ Broker REST API and authentication <region> is your RegionId, for example mq-us-east-1; see Anypoint MQ REST APIs

Between the Pickup Service and source databases

Direction Source Destination Protocol Port(s) Purpose Notes
Outbound Agent Server Target (SQL Server) TCP 1433 SQL Server source Default instance. Named instances: static or dynamic port (49152-65535) plus UDP 1434 (SQL Server Browser). See SQL Connection Strings
Outbound Agent Server Target (PostgreSQL) TCP 5432 PostgreSQL source Default; use the Port in your connection string (cloud services often differ)

Between the Pickup Service and file shares

Direction Source Destination Protocol Port(s) Purpose Notes
Outbound Agent Server Target (File Server) TCP 445 File Shares (SMB 2.x/3.x) Preferred; see SMB File Sharing Ports
Outbound Agent Server Target (File Server) TCP/UDP 135-139 Legacy NetBIOS/SMB 1.0 Avoid

Between the Pickup Service and the Domain Controller

Required for Windows authentication: SMB shares, MSMQ, and SQL Server with Integrated Security, or a domain/gMSA service account.

Direction Source Destination Protocol Port(s) Purpose Notes
Outbound Agent Server Domain Controller TCP/UDP 88 Kerberos authentication Required for domain authentication
Outbound Agent Server Domain Controller TCP/UDP 389 LDAP Standard LDAP queries
Outbound Agent Server Domain Controller TCP 636 LDAPS (Secure LDAP) Required for LDAPS authentication

RPC Dynamic Ports: MSMQ and other RPC-based traffic use dynamic port allocation. Review Configure RPC dynamic port allocation.

Between the servers and DNS

Direction Source Destination Protocol Port(s) Purpose Notes
Outbound Agent Server DNS Server TCP/UDP 53 Name resolution Resolve the sources, the Core Services Server, SQL Server, and the cloud hostnames. A local hosts file can replace DNS
Outbound Core Services Server DNS Server TCP/UDP 53 Name resolution Resolve the Agent Server

Tip

For detailed troubleshooting, see SQL Server Firewall Configuration and Azure Event Hubs Troubleshooting.

Important

Stateful Firewalls: Most Windows Firewall implementations are stateful, so response traffic for established outbound connections is allowed automatically. Add inbound rules only where stateful inspection is disabled or restricted.


Frequently Asked Questions

Find additional solutions to common problems and the FAQ for the Nodinite Pickup Log Events Service Logging Agent in the Troubleshooting user guide.

Make sure to subscribe to our Release Notes.

Next Steps