LibraryLink ToToggle FramesPrintFeedback

Auditing the Persistence Journal

To view the persistence journal data log files, use the journal-audit task. Velocity Template Language (VTL) expressions allow you to control how the records are displayed. See Chapter 2 in the Using FUSE™ Message Broker's Persistence Features for details.

You can run the command against the journal archive directory and the active journal directory, as follows:

activemq-admin journal-audit Options JournalDirectory

Message records are created every time a producer sends a persistent message to the broker. The message is recorded in the journal even if its transaction is rolled back.

Use the following syntax to display message records:

activemq-admin journal-audit --message-format=VTLExpression JournalDirectory

The default VTL expression is as follows:

${location.dataFileId},${location.offset}|${type}|${record.destination}|${record.messageId}|${record.properties}|${body}

[Note]Note

Some operating systems require you to place the entire VTL expression inside single quotes.

A topic ack records that a durable subscription for a topic has acknowleged a set of messages.

Use the --topic-ack-format=VTLExpression option to display topic ack records:

The default VTL expression is as follows:

${location.dataFileId},${location.offset}|${type}|${record.destination}|${record.clientId}|${record.subscriptionName}|${record.messageId}

A queue ack records that a consumer for a queue has acknowleged a message.

Use the --queue-ack-format=VTLExpression option to display queue ack records:

The default VTL expression is as follows:

${location.dataFileId},${location.offset}|${type}|${record.destination}|${record.messageAck.lastMessageId}

Transaction records are used to record transaction related actions like commit and rollback.

You can use the --transaction-format=VTLExpression to display transaction records:

The default VTL expression is:

${location.dataFileId},${location.offset}|${type}|${record.transactionId}

Trace records are informational messages stored in the journal that assist in auditing. For example, a trace message is recorded whenever the broker is restarted or when the long term store is checkpointed.

You can display trace records using the --trace-format=VTLExpression option.

The default VTL Expression is:

${location.dataFileId},${location.offset}|${type}|${record.message}

The journal-audit task allows you to filter out records using a SQL like WHERE syntax, as follows:

activemq-admin journal-audit --where=VALUE

For example:

activemq-admin journal-audit --where="type='ActiveMQTextMessage' and location.dataFileId > 2"