MQTT
The MQTT input plugin, allows to retrieve messages/data from MQTT control packets over a TCP connection. The incoming data to receive must be a JSON map.

Configuration Parameters

The plugin supports the following configuration parameters:
Key
Description
Listen
Listener network interface, default: 0.0.0.0
Port
TCP port where listening for connections, default: 1883

Getting Started

In order to start listening for MQTT messages, you can run the plugin from the command line or through the configuration file:

Command Line

Since the MQTT input plugin let Fluent Bit behave as a server, we need to dispatch some messages using some MQTT client, in the following example mosquitto tool is being used for the purpose:
1
$ fluent-bit -i mqtt -t data -o stdout -m '*'
2
Fluent Bit v1.x.x
3
* Copyright (C) 2019-2020 The Fluent Bit Authors
4
* Copyright (C) 2015-2018 Treasure Data
5
* Fluent Bit is a CNCF sub-project under the umbrella of Fluentd
6
* https://fluentbit.io
7
8
[2016/05/20 14:22:52] [ info] starting engine
9
[0] data: [1463775773, {"topic"=>"some/topic", "key1"=>123, "key2"=>456}]
Copied!
The following command line will send a message to the MQTT input plugin:
1
$ mosquitto_pub -m '{"key1": 123, "key2": 456}' -t some/topic
Copied!

Configuration File

In your main configuration file append the following Input & Output sections:
1
[INPUT]
2
Name mqtt
3
Tag data
4
Listen 0.0.0.0
5
Port 1883
6
7
[OUTPUT]
8
Name stdout
9
Match *
Copied!
Last modified 1yr ago