- 0 minutes to read
</i> Configure Nodinite Pickup Service Logging Agent for Apache ActiveMQ Integration">

Apache ActiveMQ Configuration Example

Unlock seamless log event integration by configuring the Nodinite Pickup Logging Service to fetch JSON Log Events directly from your Apache ActiveMQ queues. This page will help you get started quickly and avoid common pitfalls.

✅ Set up secure, reliable log event collection from ActiveMQ queues
✅ Route invalid messages to Dead Letter Queues for compliance and troubleshooting
✅ Leverage JSON and Replace Rules for advanced message processing
✅ Ensure long-term storage and easy retrieval of log data in Nodinite

Whether you're new to Nodinite or an experienced administrator, configuring ActiveMQ integration is straightforward. Begin by identifying the queues you want to monitor and ensure you have the necessary access credentials. The Pickup Service will automatically process messages, route invalid ones to the Dead Letter Queue, and store valid events for long-term analysis.

Tip

For best results, start with a single queue and verify your setup before scaling to multiple queues. Always use strong credentials and keep your configuration file secure.

graph TD subgraph "ActiveMQ" roS(fal:fa-list Queue) roBO(fal:fa-trash-can Dead letter queue) end subgraph "Nodinite instance" roPS(fal:fa-truck-pickup Pickup Service) roPS -.->|Bad/invalid messages| roBO roS --> roPS roPS --> |"Long term storage"|roDB(fal:fa-database Log Database) end

The diagram above illustrates how the Pickup Service interacts with ActiveMQ queues, processes messages, and stores them in the Nodinite Log Database. Invalid messages are routed to the Dead Letter Queue for further review.

ActiveMQs

The ActiveMQs section lets you manage all Apache ActiveMQ sources for your log events.

You configure these sources in the Settings.json file, which uses JSON format. The default path is:

C:\Program Files\Nodinite\Logging Agent - Pickup Service\Settings.json
{
  ...
  "ActiveMQs": [
    {
      "Enabled": true,
      "LogApi": "https://localhost/Nodinite/Dev/LogAPI/",
      "UseConfigurationDatabase": false,
      "ConfigurationDatabaseConnectionString": null,
      "ActiveConsumers": 4,
      "ConnectionString": "tcp://127.0.0.1:61616",
      "Username": "system",
      "Password": "manager",
      "Queue": "Nodinite.LogAgent.PickupService.Test",
      "DeadLetterQueue": "Nodinite.LogAgent.PickupService.Test.DLQ",
      "ReplaceRules": [
        {
          "Name": "Fix Endpoint real customer id to {customerId}",
          "ReplaceName": false,
          "ReplaceUri": true,
          "Pattern": "/([0-9]{4,})$",
          "Group1Value": "{customerId}"
        }
      ]
    }
  ]
  ...                      
}

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

Tip

  • Use a unique Dead Letter Queue for each monitored queue to simplify troubleshooting.
  • Adjust the number of consumers (ActiveConsumers) based on your expected message volume.
  • Use Replace Rules to standardize and enrich log data for downstream analysis.
  • Always restart the Pickup Service after making changes to your configuration.
Property Description Value Example Comment
ActiveConsumers Number of consumers the agent uses to collect messages 1-n A positive integer between 1 and 4 is recommended
ConnectionString Connection string to the ActiveMQ server (can be a fail-over address) tcp://127.0.0.1:61616 or failover:(tcp://127.0.0.1:61616,tcp://host2:61616)?randomize=false&timeout=1000&startupMaxReconnectAttempts=2&maxReconnectDelay=2000
Username Username for ActiveMQ access system
Password Password for the user manager
Queue Name of the ActiveMQ Queue to pick up JSON Log Event from
DeadLetterQueue Name of the Dead Letter Queue for invalid or failed events
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.


Security and Account Management

Each ActiveMQ configuration requires a login. You can use different accounts for different brokers, or even assign unique credentials for individual queues. This flexibility allows you to tailor access rights and improve security across your integration landscape.

✅ Using separate accounts for each broker or queue helps limit access and reduce risk
✅ Credentials can be managed independently for compliance and auditing
✅ Improved security by isolating sensitive data and operations

For best security practices, consider:

  • Creating dedicated service accounts for each queue or broker
  • Using strong, unique passwords for every account
  • Regularly reviewing and updating account permissions
  • Auditing access logs to ensure only authorized users interact with your log data

When configuring your Settings.json, specify the correct username and password for each ActiveMQ entry. This ensures only authorized access to your message queues and helps maintain a secure, compliant environment.


Next Step

Configure