Menu Search

Appendix C. Operational Logging

The Broker will, by default, produce structured log messages in response to key events in the lives of objects within the Broker. These consise messages are designed to allow the user to understand the actions of the Broker in retrospect. This is valuable for problem diagnosis and provides a useful audit trail.

Each log message includes details of the entity causing the action (e.g. a management user or messaging client connection), the entity receiving the action (e.g. a queue or connection) and a description of operation itself.

The log messages have the following format:

    [Actor] {[Subject]} [Message Id] [Message Text]
  

Where:

  • Actor is the entity within the Broker that is performing the action. There are actors corresponding to the Broker itself, Management, Connection, and Channels. Their format is described in the table below.

  • Subject (optional) is the entity within the Broker that is receiving the action. There are subjects corresponding to the Connections, Channels, Queues, Exchanges, Subscriptions, and Message Stores. Their format is described in the table below.

    Some actions are reflexive, in these cases the Actor and Subject will be equal.

  • Message Id is an identifier for the type of message. It has the form three alphas and four digits separated by a hyphen AAA-9999.

  • Message Text is a textual description

To illustrate, let's look at two examples.

CON-1001 is used when a messages client makes an AMQP connection. The connection actor (con) provides us with details of the peer's connection: the user id used by the client (myapp1), their IP, ephemeral port number and the name of the virtual host. The message text itself gives us further details about the connection: the client id, the protocol version in used, and details of the client's qpid library.

[con:8(myapp1@/127.0.0.1:52851/default)] CON-1001 : Open : Client ID : clientid :
             Protocol Version : 0-10 : Client Version : 0.29 : Client Product : qpid

QUE-1001 is used when a queue is created. The connection actor con tells us details of the connection performing the queue creation: the user id used by the client (myapp1), the IP, ephemeral port number and the name of the virtual host. The queue subject tells use the queue's name (myqueue) and the virtualhost. The message itself tells us more information about the queue that is being created.

[con:8(myapp1@/127.0.0.1:52851/default)/ch:0] [vh(/default)/qu(myqueue)] QUE-1001 : Create : Owner: clientid Transient

The first two tables that follow describe the actor and subject entities, then the later provide a complete catalogue of all supported messages.

Table C.1. Actors Entities

Actor TypeFormat and Purpose
Broker[Broker]

Used during startup and shutdown

Management [mng:userid(clientip:ephemeralport)]

Used for operations performed by the either the JMX or Web Management interfaces.

Connection [con:connectionnumber(userid@/clientip:ephemeralport/virtualhostname)]

Used for operations performed by a client connection. Note that connections are numbered by a sequence number that begins at 1.

Channel [con:connectionnumber(userid@/clientip:ephemeralport/virtualhostname/ch:channelnumber)]

Used for operations performed by a client's channel (corresponds to the JMS concept of Session). Note that channels are numbered by a sequence number that is scoped by the owning connection.


Table C.2. Subject Entities

Subject TypeFormat and Purpose
Connection [con:connectionnumber(userid@/clientip:ephemeralport/virtualhostname)]

A connection to the Broker.

Channel [con:connectionnumber(userid@/clientip:ephemeralport/virtualhostname/ch:channelnumber)]

A client's channel within a connection.

Subscription [sub:subscriptionnumber(vh(/virtualhostname)/qu(queuename)]

A subscription to a queue. This corresponds to the JMS concept of a Consumer.

Queue[vh(/virtualhostname)/qu(queuename)]

A queue on a virtualhost

Exchange[vh(/virtualhostname)/ex(exchangetype/exchangename)]

An exchange on a virtualhost

Binding [vh(/virtualhostname)/ex(exchangetype/exchangename)/qu(queuename)/rk(bindingkey)]

A binding between a queue and exchange with the giving binding key.

Message Store [vh(/virtualhostname)/ms(messagestorename)]

A virtualhost/message store on the Broker.


The following tables lists all the operation log messages that can be produced by the Broker, and the describes the circumstances under which each may be seen.

Table C.3. Broker Log Messages

Message IdMessage Text / Purpose
BRK-1001Startup : Version: version Build: build

Indicates that the Broker is starting up

BRK-1002Starting : Listening on transporttype port portnumber

Indicates that the Broker has begun listening on a port.

BRK-1003Shutting down : transporttype port portnumber

Indicates that the Broker has stopped listening on a port.

BRK-1004Qpid Broker Ready

Indicates that the Broker is ready for normal operations.

BRK-1005Stopped

Indicates that the Broker is stopped.

BRK-1006Using configuration : file

Indicates the name of the configuration store in use by the Broker.

BRK-1007Using logging configuration : file

Indicates the name of the log configuration file in use by the Broker.

BRK-1008delivered|received : size kB/s peak : size bytes total

Statistic - bytes delivered or received by the Broker.

BRK-1009delivered|received : size msg/s peak : size msgs total

Statistic - messages delivered or received by the Broker.


Table C.4. Management Log Messages

Message IdMessage Text / Purpose
MNG-1001type Management Startup

Indicates that a Management plugin is starting up. Currently supported management plugins are JMX and Web.

MNG-1002Starting : type : Listening on port port

Indicates that a Management plugin is listening on the given port.

MNG-1003Shutting down : type : port port

Indicates that a Management plugin is ceasing to listen on the given port.

MNG-1004type Management Ready

Indicates that a Management plugin is ready for work.

MNG-1005type Management Stopped

Indicates that a Management plugin is stopped.

MNG-1006Using SSL Keystore : file

Indicates that a Management transport is secured by SSL and using the given keystore file.

MNG-1007Open : User username

Indicates the opening of a connection to Management has by the given username.

MNG-1008Close : User username

Indicates the closing of a connection to Management has by the given username.


Table C.5. Virtual Host Log Messages

Message IdMessage Text / Purpose
VHT-1001Created : virtualhostname

Indicates that a virtualhost has been created.

VHT-1002Closed

Indicates that a virtualhost has been closed. This occurs on Broker shutdown.

VHT-1003virtualhostname : delivered|received : size kB/s peak : size bytes total

Statistic - bytes delivered or received by the virtualhost.

VHT-1004virtualhostname : delivered|received : size msg/s peak : size msgs total

Statistic - messages delivered or received by the virtualhost.

VHT-1005Unexpected fatal error

Virtualhost has suffered an unexpected fatal error, check the logs for more details.


Table C.6. Queue Log Messages

Message IdMessage Text / Purpose
QUE-1001Create : Owner: owner AutoDelete [Durable] Transient Priority: numberofpriorities

Indicates that a queue has been created.

QUE-1002Deleted

Indicates that a queue has been deleted.

QUE-1003Overfull : Size : size bytes, Capacity : maximumsize

Indicates that a queue has exceeded its permitted capacity. See Section 12.2.1, “Producer Flow Control” for details.

QUE-1004Underfull : Size : size bytes, Resume Capacity : resumesize

Indicates that a queue has fallen to its resume capacity. See Section 12.2.1, “Producer Flow Control” for details.


Table C.7. Exchange Log Messages

Message IdMessage Text / Purpose
EXH-1001Create : [Durable] Type: type Name: exchange name

Indicates that an exchange has been created.

EXH-1002Deleted

Indicates that an exchange has been deleted.

EXH-1003Discarded Message : Name: exchange name Routing Key: routing key

Indicates that an exchange received a message that could not be routed to at least one queue. queue has exceeded its permitted capacity. See Section 4.3.4, “Unrouteable Messages” for details.


Table C.8. Binding Log Messages

Message IdMessage Text / Purpose
BND-1001Create : Arguments : arguments

Indicates that a binding has been made between an exchange and a queue.

BND-1002Deleted

Indicates that a binding has been deleted


Table C.9. Connection Log Messages

Message IdMessage Text / Purpose
CON-1001Open : Client ID : clientid : Protocol Version : protocol version : Client Version : client version : Client Product :client product

Indicates that a connection has been opened. The Broker logs one of these message each time it learns more about the client as the connection is negotiated.

CON-1002Close

Indicates that a connection has been closed. This message is logged regardless of if the connection is closed normally, or if the connection is somehow lost e.g network error.

CON-1003Closed due to inactivity

Used when heart beating is in-use. Indicates that the connection has not received a heartbeat for too long and is therefore closed as being inactive.


Table C.10. Channel Log Messages

Message IdMessage Text / Purpose
CHN-1001Create

Indicates that a channel (corresponds to the JMS concept of Session) has been created.

CHN-1002Flow Started

Indicates message flow to a session has begun.

CHN-1003Close

Indicates that a channel has been closed.

CHN-1004Prefetch Size (bytes) size : Count number of messages

Indicates the prefetch size in use by a channel.

CHN-1005Flow Control Enforced (Queue queue name)

Indicates that producer flow control has been imposed on a channel owning to excessive queue depth in the indicated queue. Produces using the channel will be requested to pause the sending of messages. See Section 12.2.1, “Producer Flow Control” for more details.

CHN-1006Flow Control Removed

Indicates that producer flow control has been removed from a channel. See Section 12.2.1, “Producer Flow Control” for more details.

CHN-1007Open Transaction : time ms

Indicates that a producer transaction has been open for longer than that permitted. See Section 12.3, “Producer Transaction Timeout” for more details.

CHN-1008Idle Transaction : time ms

Indicates that a producer transaction has been idle for longer than that permitted. See Section 12.3, “Producer Transaction Timeout” for more details.

CHN-1009Discarded message : message number as no alternate exchange configured for queue : queue name{1} routing key : routing key

Indicates that a channel has discarded a message as the maximum delivery count has been exceeded but the queue defines no alternate exchange. See Section 12.4.2, “Maximum Delivery Count” for more details. Note that message number is an internal message reference.

CHN-1010Discarded message : message number as no binding on alternate exchange : exchange name

Indicates that a channel has discarded a message as the maximum delivery count has been exceeded but the queue's alternate exchange has no binding to a queue. See Section 12.4.2, “Maximum Delivery Count” for more details. Note that message number is an internal message reference.

CHN-1011Message : message number moved to dead letter queue : queue name

Indicates that a channel has moved a message to the named dead letter queue


Table C.11. Subscription Log Messages

Message IdMessage Text / Purpose
SUB-1001Create : [Durable] Arguments : arguments

Indicates that a subscription (corresponds to JMS concept of a MessageConsumer) has been created.

SUB-1002Close

Indicates that a subscription has been closed.

SUB-1003State : boolean

Indicates that a subscription has changed state. This occurs when the consumer is ready to receive more messages. As this happens frequently in normal operation, this log messages is disabled by default.


Table C.12. Message Store Log Messages

Message IdMessage Text / Purpose
MST-1001Created

Indicates that a message store has been created. The message store is responsible for the storage of the messages themselves, including the message body and any headers.

MST-1002Store location : path

Indicates that the message store is using path for the location of the message store.

MST-1003Closed

Indicates that the message store has been closed.

MST-1004Recovery Start

Indicates that message recovery has begun.

MST-1005Recovered number of messages messages.

Indicates that recovery recovered the given number of messages from the store.

MST-1006Recovered Complete

Indicates that the message recovery is concluded.

MST-1007Store Passivated

The store is entering a passive state where is it unavailable for normal operations. Currently this message is used by HA when the node is in replica state.

MST-1008Store overfull, flow control will be enforced

The store has breached is maximum configured size. See Section 12.2.1, “Producer Flow Control” for details.

MST-1009Store overfull condition cleared

The store size has fallen beneath its resume capacity and therefore flow control has been rescinded. See Section 12.2.1, “Producer Flow Control” for details.


Table C.13. Transaction Store Log Messages

Message IdMessage Text / Purpose
TXN-1001Created

Indicates that a transaction store has been created. The transaction store is responsible for the storage of messages instances, that is, the presence of a message on a queue.

TXN-1002Store location : path

Indicates that the transaction store is using path for the location of the store.

TXN-1003Closed

Indicates that the transaction store has been closed.

TXN-1004Recovery Start

Indicates that transaction recovery has begun.

TXN-1005Recovered number messages for queue name.

Indicates that recovery recovered the given number of message instances for the given queue.

TXN-1006Recovered Complete

Indicates that the message recovery is concluded.


Table C.14. Configuration Store Log Messages

Message IdMessage Text / Purpose
CFG-1001Created

Indicates that a configuration store has been created. The configuration store is responsible for the storage of the definition of objects such as queues, exchanges, and bindings.

CFG-1002Store location : path

Indicates that the configuration store is using path for the location of the store.

CFG-1003Closed

Indicates that the configuration store has been closed.

CFG-1004Recovery Start

Indicates that configuration recovery has begun.

CFG-1005Recovered Complete

Indicates that the configuration recovery is concluded.