Logagent input plugin for MQTT Broker
Input Plugin: MQTT Broker¶
Input plugin for @sematext/logagent. The plugin starts a MQTT Broker and emits each received message (all topics) to Logagent processing pipeline.
Configuration¶
# mqtt-input.yaml input: mqtt-broker: module: input-mqtt-broker port: 1883 # regular expression to ignore topics ignoreTopic: ^\$SYS debug: false # enable authentication by setting username and password # username: mqtt # password: secret # The authenticate function can implement custom authentication logic # authenticate: !!js/function > # function (client, username, password, callback) { # callback(null, username=='mqtt' && password === 'secret') # } output: stdout: yaml elasticsearch: module: elasticsearch url: https://logsene-receiver.sematext.com # default index index: bb308f80-0453-485e-xxxx-f80c054a0f09 # routing topics to different indicies indices: bb308f80-0453-485e-xxxx-f80c054a0f10: - log-m.* bb308f80-0453-485e-xxxx-f80c054a0f11: - sensor-.*
Start Logagent¶
logagent --config mqtt-input.yaml
Send MQTT messages¶
npm i -g mqtt mqtt pub -h localhost -p 1833 -t log-messages -m "Hello MQTT" mqtt pub -h localhost -p 1833 -t sensor-data -m '{"temperature": 11}'