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