- 8 minutes to read

AMQPs Configuration Example

Effortlessly integrate your AMQP v1.0 compliant message broker—including Apache ActiveMQ Artemis—with the Nodinite Pickup Logging Service. On this page, you'll learn how to:

  • ✅ Capture, manage, and store JSON Log Events from any AMQP queue
  • ✅ Support Apache ActiveMQ 5.x, ActiveMQ Artemis, and any AMQP 1.0 compliant service
  • ✅ Route invalid messages to Dead Letter Queues for compliance and troubleshooting
  • ✅ Ensure secure, reliable, and scalable log event collection in Nodinite

Info

New 6.2
Follow these steps to configure the Nodinite Pickup Logging Service and start collecting Nodinite JSON Log Event messages from your AMQP queues.

graph TD subgraph "AMQP 1.0 Service" 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 shows how the Pickup Service connects to your AMQP queue, processes messages, and stores them in the Nodinite Log Database. Invalid messages are routed to the Dead Letter Queue for further review.

AMQPs

The AMQPs section lets you manage all AMQP sources for your log events.

In the Remote Configuration GUI, navigate to the AMQPs tab. Here, you can add, edit, or remove AMQP queue configurations. Each configuration defines how the Nodinite Pickup Log Events Logging Service connects to and processes messages from a specific AMQP v1.0 compliant queue.

AMQP Configuration Tab
Example of the AMQP configuration tab in the Remote Configuration GUI.

Click the Add button to create a new AMQP configuration. Fill in the required fields, such as connection string, queue name, and credentials. You can also specify a Dead Letter Queue for handling invalid messages.

AMQP Configuration Accordion
Example of an AMQP configuration accordion in the Remote Configuration GUI.

Expand the accordion for each AMQP 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.

General tab

The General tab provides the fundamental settings for your AMQP configuration within the Remote Configuration GUI.

Key Fields:

Field Description Required Notes
Enabled Checkbox to activate or deactivate this AMQP configuration No When unchecked, the Pickup Service will skip this configuration
Display Name User-friendly name for this AMQP source configuration Yes Used in the GUI and logs for easy identification
Description Optional detailed description of the AMQP configuration No Helps document the purpose and details of this specific queue setup

Guidelines:

  • Use descriptive names that clearly indicate the AMQP broker and queue purpose (e.g., "Artemis Production - 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 consuming messages

Source tab

The Source tab contains the connection and queue settings required to establish communication with your AMQP v1.0 compliant broker and specify which queues to monitor.

Key Fields:

Field Description Required Notes
Broker URI URI used to connect to your AMQP broker Yes Format: amqp://host:port or amqps://host:port for secure connections
Queue Name of the AMQP queue to fetch messages from Yes The queue must exist on the broker and contain JSON Log Events
Dead Letter Queue Queue name where failed or invalid messages are automatically moved Yes Use a unique DLQ per source for easier troubleshooting and monitoring

Broker URI Examples:

  • Standard AMQP: amqp://localhost:5672
  • Secure AMQP (SSL/TLS): amqps://broker.example.com:5671
  • Remote broker: amqp://192.168.1.100:5672

Guidelines:

  • Ensure the specified Queue exists on the AMQP broker before enabling this configuration
  • Use a descriptive Queue name that reflects the type of events it contains (e.g., Order.Events.Log, Integration.Errors)
  • Always configure a Dead Letter Queue to capture and review invalid or unparseable messages
  • For production environments, consider using secure AMQP connections (amqps://) to encrypt message traffic
  • Test the connection with a single queue before scaling to multiple AMQP sources

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.

Key Fields:

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

Guidelines:

  • 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

Example Configurations:

  • Unprotected: http://localhost:40002/LogAPI/ (Protected checkbox unchecked)
  • Protected: https://mynodinite.acme.com:40002/LogAPI/ Requires Client ID, Client Secret, Scope, and IDP Token Endpoint configured with your OAuth provider

Authentication tab

The Authentication tab contains the credentials required to connect to and authenticate with your AMQP broker. These credentials ensure only authorized access to your message queues.

Key Fields:

Field Description Required Notes
Username AMQP broker username Yes The account must have permission to consume messages from the specified queue
Password AMQP broker password Yes The password associated with the username; kept secure in the configuration

Guidelines:

  • Create dedicated service accounts for each AMQP broker or queue to improve security and auditability
  • Use strong, unique passwords that meet your organization's security standards
  • Regularly rotate credentials and monitor access logs for unauthorized connection attempts
  • Avoid using default credentials (e.g., artemis/artemis or admin/admin) in production environments
  • Ensure the account has minimal required permissions—only access to the specific queues needed for log event collection
  • Document which accounts are used for which brokers/queues for compliance and troubleshooting
  • Keep credentials secure and never commit them to version control systems
  • For highly sensitive environments, consider using certificate-based authentication if supported by your broker

Security Best Practices:

  • Use separate credentials for development, staging, and production environments
  • Implement account lockout policies and failed login attempt monitoring on your AMQP broker
  • Regularly review access permissions and remove unused accounts
  • Consider using a secrets management system to store and rotate broker credentials

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. Replace Rules Tab
The Replace Rules tab allows you to configure rules for modifying message content.

Configuration file

C:\Program Files\Nodinite\Logging Agent - Pickup Service\Settings.json
{
  ...
  "AMQPs": [
  {
    "Enabled": true,
    "LogAPI": "http://localhost/Nodinite/Dev/LogAPI/",
    "UseConfigurationDatabase": false,
    "ConfigurationDatabaseConnectionString": "Server=.;Database=NodiniteConfig_Dev;Integrated Security=True;Connection Timeout=60;TrustServerCertificate=true",
    "ConnectionString": "amqp://localhost:5672",
    "Username": "artemis",
    "Password": "artemis",
    "Queue": "a1",
    "DeadLetterQueue": "DLQ",
    "ReplaceRules": [
      {
        "Name": "Fix Endpoint name to change customer Id to {customerId}",
        "ReplaceName": true,
        "ReplaceUri": true,
        "Pattern": "/([0-9]{4,})$",
        "Group1Value": "{customerId}"
      }
    ]
  }
]
  ...                      
}

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

Property Description Value Example Comment
ConnectionString Connection string to the AMQP Broker amqp://localhost:5672
Username Username for AMQP access system
Password Password for the user manager
Queue Name of the AMQP 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.


Next Step

Configure