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