Short for "Advanced Message Queuing Protocol," AMQP is an open standard for passing business messages back and forth between applications as needed. It is the core protocol for RabbitMQ, which is itself a message broker. STORM (a straightforward, text-based messaging protocol), MQTT (a binary protocol known for its lightweight messaging) and HTTP all use AMQP in some capacity through the use of specially designed plugins.

AMQP is notable because it enables both the encrypted and interoperable messaging between organizations and their applications — something that has become critically important in the fast-paced, mobile-driven world that we're currently living in. Note that the protocol is also used to deliver client/server messaging, and in terms of Internet of Things (IoT) device management, too.

Efficiency, portability and security are all major benefits that AMQP brings to the table. The binary protocol enables both authentication and encryption by way of an SASL or TLS, which themselves rely on transport protocols like TCP. Overall, the messaging protocol itself is fast and features both guaranteed delivery with the acknowledgement of received messages — making sure that absolutely nothing is allowed to fall through the cracks. AMQP is also suitable for multi-client environments and provides a mechanism for both delegating tasks to necessary parties and for making servers handle immediate requests faster than ones that may not have a priority level that is quite as high.

The AMQP Consumer Telegraf Input Plugin, by extension, enables the consumer to receive streaming data from an AMQP message producer through an AMQP 0-9-1 compatible broker, with RabbitMQ being perhaps the most prominent example.

Why use a Telegraf plugin for AMQP Consumer?

There are a large number of communications-related advantages that can only be unlocked through the AMQP Consumer Telegraf Input Plugin. Chief among these is the fact that you can now publish messages directly from PostgreSQL, putting yourself in a better position to track event messages or to even publish IoT sensor data in a way that makes it easy for everyone to access and understand.

This puts your team members in an ideal position to not only track performance but to also improve efficiencies across the board, thus creating the best end user experience possible.

How to use the AMQP Consumer Telegraf Input Plugin to build your monitoring solution

As stated, the AMQP Consumer Telegraf plugin provides consumers the ability to receive streaming data through an AMQP 0-9-1 compatible broker, like the aforementioned RabbitMQ. The metrics are read from a topic exchange using the queue binding_key.

The message payload should be formatted in one of the Telegraf Data Formats, with InfluxDB Line Protocol, Collectd, CSV, Graphite, JSON and Nagios being prime candidates. There are also a number of different configuration options to choose from, like:

  • Exchange type (direct, fanout, topic, header, or x-consistent hash)
  • Exchange durability (transient or durable)
  • Exchange arguments ({"hash_property" = "timestamp"})

Note that there are also three different AMQP/RabbitMQ Telegraf plugins that you can use to build your own solution — something that is a bit more in line with your expectations as an organization. Notable commands that you will use during this process include:

  • outputs.amqp - writes metrics to an AMQP exchange
  • inputs.amqp_consumber - reads metrics off an AMQP queue
  • inputs.rabbitmq - gathers runtime metrics from a RabbitMQ

Key AMQP Consumer metrics to use for monitoring

Some of the key AMQP Consumer metrics that you should consider following to get the most out of your deployment include:

  • Publishers, which are the applications that message brokers get messages from
  • Consumers, which are the applications that process those messages
  • Producers, which are the applications that publish those messages
  • Queues, which are the machines that the messages are distributed to
  • Bindings, which are the rules used by queues to properly distribute messages on exchanges
  • Message attributes, otherwise known as message metadata
  • Durability, which tracks exchanges that survive broker restart
  • Arguments, which can be used to track broker-specific features

For more information, please check out the documentation.

Project URL   Documentation

Related Resources

Gathering Metrics over RabbitMQ

This is a community blog from Raymond Coetzee on how to use the AMQP Telegraf plugin.

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