Active-MQ

Apache ActiveMQ Telegraf Plugin

Active-MQ

Apache 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
  • activemq_topics
    • Tags:
      • name
      • source
      • port
    • Fields:
      • size
      • consumer_count
      • enqueue_count
      • dequeue_count
  • 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

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.

For more information, please check out the documentation.

Project URL   Documentation

Related Resources

AMQP Consumer Telegraf plugin

Learn how the AMQP Consumer Telegraf Input Plugin receives streaming data from an AMQP message producer.

RabbitMQ Telegraf plugin

This plugin gathers statistics from your RabbitMQ monitoring cluster. It reads metrics from RabbitMQ servers via the RabbitMQ Management Plugin.

IoT Data Platform

The solution to provide real-time insight and analytics from IoT sensors and devices.

Scroll to Top