Metrics
JMS Bridge is built on top of ActiveMQ Artemis, and exposes Artemis metrics via Prometheus when enabled.
These metrics are useful for monitoring queue health, message throughput, and system resource usage.
🔧 Prerequisites
Section titled “🔧 Prerequisites”- Prometheus Agent is already running on JMS Bridge (e.g.,
http://<bridge-host>:8888/metrics
) - Prometheus Server is configured to scrape the bridge
📊 Key Artemis Metrics Exposed via Prometheus
Section titled “📊 Key Artemis Metrics Exposed via Prometheus”1. Queue Metrics
Section titled “1. Queue Metrics”These are helpful to monitor backlog, inflight messages, and delivery health.
Metric | Description |
---|---|
artemis_queue_message_count | Current number of messages in the queue |
artemis_queue_messages_added | Total messages added to the queue |
artemis_queue_delivering_count | Messages currently being delivered |
artemis_queue_acknowledged | Total messages acknowledged (consumed) |
artemis_queue_expired | Total messages expired due to TTL |
artemis_queue_killed | Total messages removed due to queue full or other conditions |
2. Connection and Session Metrics
Section titled “2. Connection and Session Metrics”Metric | Description |
---|---|
artemis_connection_count | Active client connections |
artemis_session_count | Active JMS sessions |
artemis_consumer_count | Total active consumers |
3. System / Broker Metrics
Section titled “3. System / Broker Metrics”Metric | Description |
---|---|
artemis_address_count | Total addresses created |
artemis_queue_count | Total queues managed by the broker |
artemis_memory_used_bytes | Broker memory usage |
artemis_disk_store_usage_bytes | Disk usage by the message store |
🧠 Example Use Cases
Section titled “🧠 Example Use Cases”🔁 Detect Queue Backlog
Section titled “🔁 Detect Queue Backlog”artemis_queue_message_count{queue="myQueue"} > 1000
Trigger an alert when messages are piling up, indicating possible consumer issues.
🚫 Expired Messages Monitoring
Section titled “🚫 Expired Messages Monitoring”increase(artemis_queue_expired[5m]) > 0
Alert when messages are expiring — could indicate delivery delay or consumer issues.
⚖️ Delivery vs Acknowledgement Rate
Section titled “⚖️ Delivery vs Acknowledgement Rate”rate(artemis_queue_messages_added[5m])
vs.
rate(artemis_queue_acknowledged[5m])
Compare these to detect imbalance in production vs consumption rate.
📉 Drop in Consumer Count
Section titled “📉 Drop in Consumer Count”artemis_consumer_count < 1
Detect when no consumers are active on a queue/address.
🛠️ Configuring Prometheus Scrape
Section titled “🛠️ Configuring Prometheus Scrape”Ensure Prometheus server has the following job:
scrape_configs: - job_name: 'jms-bridge' static_configs: - targets: ['bridge-host:8888']
✅ Summary
Section titled “✅ Summary”By using Artemis metrics exposed via Prometheus, you can build dashboards and alerts for:
- Queue depth
- Consumer availability
- Message flow health
- System resource usage