http://git-wip-us.apache.org/repos/asf/qpid-site/blob/42d76007/content/releases/qpid-broker-j-7.0.1/book/Java-Broker-Appendix-Queue-Alerts.html ---------------------------------------------------------------------- diff --git a/content/releases/qpid-broker-j-7.0.1/book/Java-Broker-Appendix-Queue-Alerts.html b/content/releases/qpid-broker-j-7.0.1/book/Java-Broker-Appendix-Queue-Alerts.html new file mode 100644 index 0000000..44dfbbb --- /dev/null +++ b/content/releases/qpid-broker-j-7.0.1/book/Java-Broker-Appendix-Queue-Alerts.html @@ -0,0 +1,171 @@ + + + +
+The Broker supports a variety of queue alerting thresholds. Once configured on a queue, + these limits will be periodically written to the log if these limits are breached, until the + condition is rectified.
For example, if queue myqueue
is configured with a message count alert of
+ 1000, and then owing to a failure of a downstream system messages begin to accumulate on the
+ queue, the following alerts will be written periodically to the log.
+INFO [default:VirtualHostHouseKeepingTask] (queue.NotificationCheck) - MESSAGE_COUNT_ALERT + On Queue myqueue - 1272: Maximum count on queue threshold (1000) breached. +
Note that queue alerts are soft in nature; breaching the limit will + merely cause the alerts to be generated but messages will still be accepted to the queue.
Table E.1. Queue Alerts
Alert Name | Alert Format and Purpose |
---|---|
MESSAGE_COUNT_ALERT | MESSAGE_COUNT_ALERT On Queue queuename -
+ number of messages : Maximum count on queue threshold
+ (limit ) breached. |
+ The number of messages on the given queue has breached its configured + limit. + | |
MESSAGE_SIZE_ALERT | MESSAGE_SIZE_ALERT On Queue queuename
+ -message size : Maximum message size threshold
+ (limit ) breached. [Message ID=message
+ id ] |
+ The size of an individual messages has breached its configured limit. + | |
QUEUE_DEPTH_ALERT | QUEUE_DEPTH_ALERT On Queue queuename -
+ total size of all messages on queue : Maximum queue depth
+ threshold (limit ) breached. |
+ The total size of all messages on the queue has breached its configured + limit. + | |
MESSAGE_AGE_ALERT | MESSAGE_AGE_ALERT On Queue queuename - age
+ of message : Maximum age on queue threshold
+ (limit ) breached. |
+ The age of a message on the given queue has breached its configured limit. + |
+ Apache Qpid, Messaging built on AMQP; Copyright © 2015 + The Apache Software Foundation; Licensed under + the Apache + License, Version 2.0; Apache Qpid, Qpid, Qpid Proton, + Proton, Apache, the Apache feather logo, and the Apache Qpid + project logo are trademarks of The Apache Software + Foundation; All other marks mentioned may be trademarks or + registered trademarks of their respective owners +
++ Qpid Broker-J + supports a number of custom arguments which can be specified as part of queue.declare + commands for AMQP 0-x protocols. This section provides an overview of the supported arguments. +
Table G.1. Queue declare arguments
Argument Name | Description |
---|---|
+ Declaration of overflow policy. + See + Section 4.7.5, “Controlling Queue Size” + for more details. + + | |
+ qpid.policy_type + |
+ Defines queue overflow policy. + |
+ qpid.max_count + |
+ Defines maximum number of messages. + + |
+ qpid.max_size + |
+ Defines maximum number of bytes. + + |
+ The Overflow Policy and the limits can be specified using + Address + based syntax as in the example below: + +my-queue; {create: always, node: {x-declare: {arguments:{'qpid.max_count': 10000, 'qpid.max_size': 102400, 'qpid.policy_type: 'ring'}}}} + + + | |
+ Alternative declaration of Producer Flow Control overflow policy. + See + Section 4.7.5, “Controlling Queue Size” + for more details. + + | |
+ x-qpid-capacity + |
+ Defines maximum number of bytes. + + |
+ x-qpid-flow-resume-capacity + |
+ Defines flow resume threshold in bytes + |
+ The Producer Flow Control can be specified using + Address based syntax as in the example below: + +my-queue; {create: always, node: {x-declare: {arguments:{'x-qpid-capacity': 102400, 'x-qpid-flow-resume-capacity': 8192000}}}} + + + | |
+ x-qpid-priorities + |
+ Specifies a priority queue with given number priorities + |
+ qpid.queue_sort_key + |
+ Specifies sorted queue with given message property used to sort the entries + |
+ qpid.last_value_queue_key + |
+ Specifies lvq queue with given message property used to conflate the entries + |
+ qpid.ensure_nondestructive_consumers + |
+ Set to true if the queue should make all consumers attached to it behave + non-destructively. (Default is false). + |
+ x-qpid-maximum-delivery-count + |
+ Specifies this queue's maximum delivery count. + |
+ x-qpid-dlq-enabled + |
+ If set |
+ Apache Qpid, Messaging built on AMQP; Copyright © 2015 + The Apache Software Foundation; Licensed under + the Apache + License, Version 2.0; Apache Qpid, Qpid, Qpid Proton, + Proton, Apache, the Apache feather logo, and the Apache Qpid + project logo are trademarks of The Apache Software + Foundation; All other marks mentioned may be trademarks or + registered trademarks of their respective owners +
+The Broker has the ability to periodically write statistics of any entity within the system to + the log. Statistics reporting can be configured for a single entity (e.g. a queue) or for all entities of a + particular category (e.g. for all queues). The system can be configured dynamically at runtime without the need + for the system to be restarted.
This feature helps allow the behaviour of the overall system to be understood and can aid real-time problem + diagnosis.
It can be configured Broker-wide or separately for each virtual host.
The format of the statistics report is configurable.
This governs the period with which statistics reports will be written to the log. The period is defined + in seconds. By default the statistics report period is zero, meaning the system is disabled. To enable the + statistics report set the statistics reporting period on either the Broker or virtualhost to + a non-zero value.
Once the period is defined, the system will respond to the statistic report patterns defined described next.
+ Apache Qpid, Messaging built on AMQP; Copyright © 2015 + The Apache Software Foundation; Licensed under + the Apache + License, Version 2.0; Apache Qpid, Qpid, Qpid Proton, + Proton, Apache, the Apache feather logo, and the Apache Qpid + project logo are trademarks of The Apache Software + Foundation; All other marks mentioned may be trademarks or + registered trademarks of their respective owners +
+The following table describes the Java system properties used by the Broker to control + various optional behaviours.
The preferred method of enabling these system properties is using the QPID_OPTS
environment variable described in the previous
+ section.
Table B.1. System properties
System property | Default | Purpose |
---|---|---|
qpid.broker_heartbeat_timeout_factor | 2 | Factor to determine the maximum length of that may elapse between heartbeats being + received from the peer before a connection is deemed to have been broken. |
qpid.broker_dead_letter_queue_suffix | _DLQ | Used with the Section 9.4.3, “Alternate Binding” + feature. Governs the suffix used when generating a name for a Dead Letter Queue. |
qpid.broker_status_updates | true |
+ If set true, the Broker will produce operational logging messages. + |
qpid.broker_disabled_features | none |
+ Allows optional Broker features to be disabled. Currently understood feature
+ names are: Feature names should be comma separated. + |
+ Apache Qpid, Messaging built on AMQP; Copyright © 2015 + The Apache Software Foundation; Licensed under + the Apache + License, Version 2.0; Apache Qpid, Qpid, Qpid Proton, + Proton, Apache, the Apache feather logo, and the Apache Qpid + project logo are trademarks of The Apache Software + Foundation; All other marks mentioned may be trademarks or + registered trademarks of their respective owners +
+To perform a complete backup of a Virtualhost node whilst it is stopped (or Broker down),
+ simply copy all the files the exist beneath
+ ${QPID_WORK}/<nodename>/config
, assuming the virtualhost node is in
+ the standard location. This will copy all configuration that belongs to that virtualhost
+ node.
The technique for backing up a virtualhost node whilst it is running depends on its + type.
BDB module includes the "hot" backup utility org.apache.qpid.server.store.berkeleydb.BDBBackup
.
+ This utility can perform the backup when the broker is running.
You can run this class from command line like in an example below:
Example 11.1. Performing store backup by using BDBBackup
class
+ directly
java
-cp "${QPID_HOME}/lib/*"
org.apache.qpid.server.store.berkeleydb.BDBBackup \
-fromdir ${QPID_WORK}/<nodename>/config
-todir path/to/backup/folder
In the example above BDBBackup utility is called to backup the store at
+ ${QPID_WORK}/<nodename>/config
and copy store logs into
+ path/to/backup/folder
.
BDB-HA VirtualHost node backups are node specific. You cannot use the backup of one node to recover a different node. To backup a group a backup of each node needs to be taken separately.
The responsibility for backup is delegated to the database server itself. See the + documentation accompanying it. Any technique that takes a consistent snapshot of the + database is acceptable.
+ Apache Qpid, Messaging built on AMQP; Copyright © 2015 + The Apache Software Foundation; Licensed under + the Apache + License, Version 2.0; Apache Qpid, Qpid, Qpid Proton, + Proton, Apache, the Apache feather logo, and the Apache Qpid + project logo are trademarks of The Apache Software + Foundation; All other marks mentioned may be trademarks or + registered trademarks of their respective owners +
+To perform a complete backup of a Virtualhost whilst it is stopped (or Broker down),
+ simply copy all the files the exist beneath
+ ${QPID_WORK}/<name>/messages
, assuming the virtualhost is in the
+ standard location. This will copy all messages that belongs to that virtualhost.
The technique for backing up a virtualhost whilst it is running depends on its + type.
Use the same backup utility described above, but use the path
+ ${QPID_WORK}/<name>/messages
instead.
The responsibility for backup is delegated to the database server itself. See the + documentation accompanying it. Any technique that takes a consistent snapshot of the + database is acceptable.
The contents of the virtualhost will be backed up as part of virtualhost node that + contains it.
+ Apache Qpid, Messaging built on AMQP; Copyright © 2015 + The Apache Software Foundation; Licensed under + the Apache + License, Version 2.0; Apache Qpid, Qpid, Qpid Proton, + Proton, Apache, the Apache feather logo, and the Apache Qpid + project logo are trademarks of The Apache Software + Foundation; All other marks mentioned may be trademarks or + registered trademarks of their respective owners +
+Table of Contents
To perform a complete backup whilst the Broker is shutdown, simply copy all the files the
+ exist beneath ${QPID_WORK}
, assuming all virtualhost nodes and virtualhost
+ are in their standard location, this will copy all configuration and persistent message data.
There is currently no safe mechanism to take a complete copy of the entire Broker whilst + it is running.
+ Apache Qpid, Messaging built on AMQP; Copyright © 2015 + The Apache Software Foundation; Licensed under + the Apache + License, Version 2.0; Apache Qpid, Qpid, Qpid Proton, + Proton, Apache, the Apache feather logo, and the Apache Qpid + project logo are trademarks of The Apache Software + Foundation; All other marks mentioned may be trademarks or + registered trademarks of their respective owners +
++ Authentication Providers are used by Ports to authenticate connections. + Many Authentication Providers can be configured on the Broker at the same time, from which + each Port can be assigned one. +
Some Authentication Providers offer facilities for creation and deletion of users.
+ Apache Qpid, Messaging built on AMQP; Copyright © 2015 + The Apache Software Foundation; Licensed under + the Apache + License, Version 2.0; Apache Qpid, Qpid, Qpid Proton, + Proton, Apache, the Apache feather logo, and the Apache Qpid + project logo are trademarks of The Apache Software + Foundation; All other marks mentioned may be trademarks or + registered trademarks of their respective owners +
+