Apache ActiveMQ Monitoring
Use This InfluxDB Integration for FreeApache ActiveMQ is an open source, multi-protocol messaging server written in Java. Overall, it is designed to function as a message-oriented middleware, also referred to as a MOM for short. It is tasked with sending messages between two applications, or multiple components within the same application.
The major benefit of MOM — much like with ActiveMQ itself — is that it is great at scaling up and sending thousands of messages per second, which is something that most databases fail at accomplishing. The key difference between these two is that databases are usually optimized for searching over multiple tables. A MOM, on the other hand, is optimized for reading messages one at a time in a queue.
In addition to the AMQP and OpenWire protocols, ActiveMQ also offers support for MQTT, STOMP, HornetQ and others. Each of these protocols have a number of key differentiators such as security, reliability (guaranteed delivery), being lightweight and differing Quality of Service (QoS) levels, among others. MQTT's lightweight nature, for example, makes it preferable for IoT implementations since it can reduce transport overhead (network traffic) and footprint. This is especially important for constrained devices such as sensors and actuators.
Why use a Telegraf plugin for ActiveMQ?
The major benefit of the ActiveMQ Telegraf Plugin involves unlocking the ability to send metrics from the entire stack of your applications and infrastructure to InfluxDB, which will dramatically improve your ability to monitor the health of these systems on an ongoing basis.
Likewise, you can send metrics and events-related data from Internet of Things sensors, devices and actuators - all to make sure that they're working together properly at all times.
How to use the ActiveMQ Telegraf Plugin
Regardless of how you choose to use the ActiveMQ Telegraf Plugin, you can set it up to reliably receive and insert your metric and event data into InfluxDB in a matter of minutes. Once set up using the plugin ID inputs.activemq, the plugin will gather all relevant queues, topics and subscriber metrics using the ActiveMQ Console API.
Note that there are only a few configuration options to enable during this process, and data collected is ingested automatically into InfluxDB with the appropriate tags and field structure. To make any necessary changes to the configuration, insert the appropriate information into the variables below:
# Description [[inputs.activemq]] ## ActiveMQ WebConsole URL url = "http://127.0.0.1:8161" ## Required ActiveMQ Endpoint ## deprecated in 1.11; use the url option # server = "192.168.50.10" # port = 8161 ## Credentials for basic HTTP authentication # username = "admin" # password = "admin" ## Required ActiveMQ webadmin root path # webadmin = "admin" ## Maximum time to receive response. # response_timeout = "5s" ## Optional TLS Config # tls_ca = "/etc/telegraf/ca.pem" # tls_cert = "/etc/telegraf/cert.pem" # tls_key = "/etc/telegraf/key.pem" ## Use TLS but skip chain & host verification # insecure_skip_verify = false
Key ActiveMQ metrics to use for monitoring
To get the most out of your deployment of the ActiveMQ Telegraf plugin, consider monitoring some or all of the following metrics:
activemq_queues
- Tags:
name
source
port
- Fields:
size
consumer_count
enqueue_count
dequeue_count
- Tags:
activemq_topics
- Tags:
name
source
port
- Fields:
size
consumer_count
enqueue_count
dequeue_count
- Tags:
activemq_subscribers
- Tags:
client_id
subscription_name
connection_id
destination_name
Selector
active
source
port
- Fields:
pending_queue_size
dispatched_queue_size
dispatched_counter
enqueue_counter
dequeue_counter
- Tags:
Once everything is set up, you can continue to monitor everything using a number of tools, like the ActiveMQ Web Console. This web-based administrative tool puts all of the information you need at your fingertips, allowing anyone in your organization to have access to critical insights and analytics at a moment’s notice.