RabbitMQ + InfluxDB v2 + Telegraf Stack for AMQP / MQTT PubSub Systems
rabbITMQ
-
|-- Telegraf v1.18
-
|-- InfluxDB 2.0
---
|-- RABBITMQ 3.8
-
RabbitMQ Message Broker: A powerful messaging broker that can broker with a lot of well-known Protocols namely MQTT, AMQP, STOMP etc.
-
Telegraf: A powerful agent to help collect metrics. A software Swiss-Knife.
-
InfluxDB: An awesome Time-Series Database that does a lot for you.
RabbitMQ Provides the MQTT v3.1.1 in-built plugin and provides an internal mechanism to convert MQTT Topics into AMQP Queue bindings quite easily. Documentation
Example
MQTT Topic | AMQP Queue |
---|---|
IOT/sensorID/temp |
IOT.sensorID.temp |
Hence, Publish with MQTT, Consume with AMQP and no need to write exclusive services / scripts to store it into InfluxDB
The Repository is a Work In Progress (WIP) and provides the rabbITMQ Stack with different levels of security
Stack Name | Security |
---|---|
prototype |
basic level passwords |
selfsigned |
with Self-Signed Certs |
NOTE: Each directory has its own README.md
and SHOULD be referred to for initial configuration / customization
docker-compose -f prototype/docker-compose.prototype.yml up
MIT License
Please use GitHub Issues for queries, bugs etc. and feel free to open Pull-Requests for improvements, bug fixes etc.