Pavel Moravec created QPID-5619:
-----------------------------------
Summary: [C++ broker] Add message auditing
Key: QPID-5619
URL: https://issues.apache.org/jira/browse/QPID-5619
Project: Qpid
Issue Type: Improvement
Components: C++ Broker
Affects Versions: 0.24
Reporter: Pavel Moravec
There is a reasonable request to have message enqueue/dequeue audited. It can
help troubleshooting or monitoring situations when the broker is suspected from
discarding a message that was sent to it but never received by a consumer.
Implementation options as to be discussed in qpid users mailing list:
1) Key feature:
- where to store/send the information about new message enqueue/dequeue?
- store it in a configurable log-file (per queue? per broker?) - problem with
format of binary data there
- amend/modify replicated queues for this purpose - though replicated queues
are designed not to replicate messages that are dequeued before they have been
replicated
- generate QMF event to be sent to
"qmf.default.topic/agent.ind.event.org_apache_qpid_broker.<queue_name>.audit.<enqueue|dequeue>"
topic - note this would have to change qpid.subject to route the message
properly
- have dedicated audit exchange for this purpose (of topic type, I expect) -
again, qpid.subject would have to be changed
- how to trigger message auditing:
- via QueueObserver (thanks Gordon for idea)
2) Options of auditing:
- audit enqueue+dequeue events only? or also acquire, release, reject?
- it should be possible to track only one from [enqueue|dequeue|acquire]
events, or all of them
- event/message should contain:
- timestamp
- original message (or just its header? or configurable?)
- type of event (enqueue/dequeue/..)
- identification of consumer acquiring/dequeueing the message (and also
producer?)
3) Provisioning/managing auditing:
- have the possibility to turn on/off auditing per queue (via QMF)
- have some x-declare arguments for the auditing when declaring the queue?
--
This message was sent by Atlassian JIRA
(v6.2#6252)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]