Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion modules/ROOT/pages/index.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -46,5 +46,5 @@ Duration: 4 hours
This course assumes that you have the following prior experience:

* Understanding of Message Oriented Middleware and JMS
* Understanding on Containers, Kubernetes, and OpenShift
* Understanding of Containers, Kubernetes, and OpenShift
* Understanding of basic Java
Original file line number Diff line number Diff line change
Expand Up @@ -13,33 +13,37 @@ The OpenShift monitoring stack can also integrate with this, as indicated by the

Monitoring an AMQ Broker involves keeping an eye on several key aspects:

* *Broker Health Metrics*: These provide an overall picture of the broker's operational state. Key metrics include:
* CPU usage and memory consumption of broker pods.
* JVM statistics (heap usage, garbage collection activity).
* File descriptor usage.
* Total connection counts and session counts.
* Message processing rates (messages added, delivered, acknowledged).
* *Queue Metrics*: These offer insights into message flow and potential bottlenecks within specific queues. Important queue metrics include:
* `MessageCount`: The number of messages currently awaiting consumption in the queue.
* `Consumers`: The count of active message consumers connected to the queue.
* `Producers`: The count of active message producers sending to the queue.
* `MessagesAdded`: The total number of messages ever added to the queue since the broker started.
* `MessagesAcknowledged`: The total number of messages successfully processed and acknowledged by consumers.
* `DeliveringCount`: Messages currently in the process of being delivered to consumers.
* `ScheduledCount`: Messages scheduled for future delivery.
* `ExpiredCount`: Messages that have passed their Time-To-Live (TTL) and have expired.
* *Topic Metrics*: While ActiveMQ Artemis internally manages topics via durable subscriptions on specific queues, monitoring involves observing the queues associated with these subscriptions. Key topic-related metrics (observed on durable subscription queues) include:
* `MessageCount`: Messages pending for a specific durable subscriber.
* `ConsumerCount`: Number of active consumers for a durable subscription.
* Message publication rates and consumption rates.
* *Connection Metrics*: Details about client connections can help diagnose connectivity issues. This includes:
* Number of active client connections per protocol.
* Connection duration.
* Remote address of connected clients.
* *Message Store Metrics*: These indicate the health and performance of message persistence.
* Disk usage for the message journal and paging files.
* Journal write rates.
* Paging file sizes and counts.
* **Broker Health Metrics:** These provide an overall picture of the broker's operational state. Key metrics include:
** CPU usage and memory consumption of broker pods.
** JVM statistics (heap usage, garbage collection activity).
** File descriptor usage.
** Total connection counts and session counts.
** Message processing rates (messages added, delivered, acknowledged).

* **Queue Metrics:** These offer insights into message flow and potential bottlenecks within specific queues. Important queue metrics include:
** `MessageCount`: The number of messages currently awaiting consumption in the queue.
** `Consumers`: The count of active message consumers connected to the queue.
** `Producers`: The count of active message producers sending to the queue.
** `MessagesAdded`: The total number of messages ever added to the queue since the broker started.
** `MessagesAcknowledged`: The total number of messages successfully processed and acknowledged by consumers.
** `DeliveringCount`: Messages currently in the process of being delivered to consumers.
** `ScheduledCount`: Messages scheduled for future delivery.
** `ExpiredCount`: Messages that have passed their Time-To-Live (TTL) and have expired.

* **Topic Metrics:** While ActiveMQ Artemis internally manages topics via durable subscriptions on specific queues, monitoring involves observing the queues associated with these subscriptions. Key topic-related metrics (observed on durable subscription queues) include:
** `MessageCount`: Messages pending for a specific durable subscriber.
** `ConsumerCount`: Number of active consumers for a durable subscription.
** Message publication rates and consumption rates.

* **Connection Metrics:** Details about client connections can help diagnose connectivity issues. This includes:
** Number of active client connections per protocol.
** Connection duration.
** Remote address of connected clients.

* **Message Store Metrics:** These indicate the health and performance of message persistence.
** Disk usage for the message journal and paging files.
** Journal write rates.
** Paging file sizes and counts.

[[hawtio-console-for-monitoring]]
== Monitoring with the Hawtio Management Console
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -292,7 +292,7 @@ You will observe:
* `ha-broker-pair1-ss-0` transitioning to `Terminating`.
* `ha-broker-pair2-ss-0 ` remaining `Running` and, in its logs, becoming the new `LIVE` broker.
* A new `ha-broker-pair1-ss-0` pod being created, transitioning through `Pending`, then `Running`, and eventually becoming the new `BACKUP` broker.
+

This demonstrates the automatic failover and self-healing capabilities of an Operator-managed HA broker pair, ensuring continuous availability of your messaging infrastructure.

This lab provides a robust, operator-managed Shared Database (JDBC) Live-Backup HA setup, which is a common and highly recommended configuration for AMQ Broker on OpenShift, offering strong guarantees against message loss and downtime.
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
# AMQ Broker Architecture

= AMQ Broker Architecture

The Red Hat AMQ Broker, built upon the robust Apache ActiveMQ Artemis project, is a high-performance, asynchronous messaging system. Understanding its architecture is crucial for effective deployment, management, and troubleshooting, especially when operating within a container orchestration platform like OpenShift.

Expand Down
1 change: 0 additions & 1 deletion modules/amq-broker-overview/pages/amq-broker-overview.adoc
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
# AMQ Broker Overview

=== AMQ Broker Overview

Red Hat AMQ Broker is a flexible, high-performance, and lightweight message broker built on xref:amq-broker-on-openshift-deployment-and-management.adoc#_foundations_in_apache_activemq_artemis[Apache ActiveMQ Artemis]. It facilitates asynchronous messaging by acting as xref:amq-broker-on-openshift-deployment-and-management.adoc#_introduction_to_message_oriented_middleware_mom[Message-Oriented Middleware (MOM)].

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
# Introduction to Red Hat AMQ Broker

[#_introduction_to_red_hat_amq_broker]
= Introduction to Red Hat AMQ Broker

This section provides a foundational understanding of Red Hat AMQ Broker, covering its identity, underlying technology, core features, supported messaging protocols, and architectural overview. Mastering these introductory concepts is essential before proceeding to its deployment and management on OpenShift.

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
# AMQP Protocol Client Examples

=== AMQP Protocol Client Examples

* Introduces the AMQP 1.0 standard, a widely adopted messaging protocol.
* Covers setting up development environments for AMQP clients, such as using Red Hat build of Apache Qpid JMS for Java.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@ To effectively develop a Java Core Protocol client, it's crucial to understand t
.The relationship between ConnectionFactory, Connection, Session, Producer, and Consumer
image::core-protocol-components.png[Core Protocol Client Components, 600, 400]

// no image aaded here, please add

[NOTE]
As highlighted in the provided context, the Core Protocol JMS client library allows for advanced features like flow control. You can configure `ConnectionFactory` properties such as `setConsumerWindowSize()` and `setProducerWindowSize()` to regulate the flow of messages and prevent resource exhaustion, especially in scenarios with varying producer and consumer speeds. For basic examples, default settings are often sufficient, but for performance-critical or high-volume applications, understanding and tuning these settings is crucial.

Expand Down
Loading
Loading