Skip to main content

Last updated by: RichardWhellum, Last updated on: 09/05/2025

Mosquitto MQTT Broker

info

Document Creation: 6 May, 2025. Last Edited: 6 May, 2025. Authors: Richard Whellum.
Document Code: DOC1. Effective Date: 6 May, 2025. Expiry Date: 6 May, 2026.

Overview

This document outlines the configuration, usage, and operational practices for the Mosquitto MQTT Broker deployed on the Data Warehouse Ubuntu VM (10.137.0.149).

Eclipse Mosquitto is a lightweight, open-source MQTT (Message Queuing Telemetry Transport) broker optimised for minimal network usage and ideal for IoT or lightweight messaging systems. It supports MQTT versions 3.1, 3.1.1, and 5.0.


System Details

SettingValue
Host OSUbuntu
Broker IP10.137.0.149
Port1883 (unencrypted, default)
PersistenceEnabled
Logging/var/log/mosquitto/mosquitto.log
Anonymous AccessEnabled (no restrictions configured)
TLS/AuthenticationNot configured

Installation Summary

To install and enable the Mosquitto broker and client tools:

sudo apt update
sudo apt install -y mosquitto mosquitto-clients
sudo systemctl enable mosquitto
sudo systemctl start mosquitto

Configuration

Primary Config File

Path: /etc/mosquitto/mosquitto.conf

pid_file /var/run/mosquitto.pid

# Persistence
persistence true
persistence_location /var/lib/mosquitto/

# Logging
log_dest file /var/log/mosquitto/mosquitto.log
log_type all

# Include additional configs
include_dir /etc/mosquitto/conf.d

Common options:

OptionDescription
listener <port>Set the port the broker listens on
allow_anonymousAllow connections without username/password
persistence trueEnable message persistence
log_dest stdoutLog output to stdout (useful for Docker)
password_fileFile containing valid user credentials

Key Parameters

  • Persistence ensures messages and subscriptions survive broker restarts.
  • Logging is set to capture all message and connection-related activity.
  • `` allows modular configuration files (e.g., future access control or TLS settings).

Logs & Monitoring

View Log Output

sudo tail -f /var/log/mosquitto/mosquitto.log

Common Log Entries

  • Connection status
  • Topic subscriptions
  • Message publishing
  • Errors or config issues

Troubleshooting

ProblemSuggested Fix
Port 1883 not open or refusedConfirm the service is active: sudo systemctl status mosquitto
Messages not receivedVerify topic names and client connectivity
Broker fails to startCheck config file syntax and permissions in conf.d/
Log file not updatingEnsure write permissions for /var/log/mosquitto/

File & Directory Summary

PathDescription
/etc/mosquitto/mosquitto.confMain broker configuration
/etc/mosquitto/conf.d/Directory for additional configs
/var/log/mosquitto/mosquitto.logPrimary log file
/var/lib/mosquitto/Persistence data location