selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

mqtt-exporter logo

Self-host mqtt-exporter

mqtt-exporter-0.1.4

Generic Prometheus exporter for MQTT IoT devices

ReleaseOpen SourceMIT
Updated13 hours ago
LanguagePython
Setup difficultyEasy
Stars
168
Port
9000 (Prometheus metrics HTTP endpoint)
Requires
MQTT Broker
Docker
kpetrem/mqtt-exporter
Install with Docker

What is mqtt-exporter?

MQTT-exporter is a lightweight Prometheus exporter that subscribes to MQTT topics and converts JSON or numeric payloads into Prometheus metrics. It works with popular IoT ecosystems including Zigbee2MQTT, Zwavejs2Mqtt, ESPHome, Hubitat, Meshtastic, and Shelly devices. The exporter runs as a Docker container or Python application, exposing metrics on port 9000. It supports TLS for MQTT and Prometheus endpoints, topic filtering, metric prefix customization, and device availability normalization for Zigbee2MQTT. Configuration is done entirely through environment variables. The project is actively maintained with recent releases.

Should you self-host mqtt-exporter?

mqtt-exporter scores 48/100 on selfhost.directory (how scoring works) and ranks #67 of 104 in Monitoring & observability. It has 168 GitHub stars.

It shipped 6 stable releases in the past year. The latest, mqtt-exporter-0.1.4, came out on 11 May 2026. New versions land roughly every 9 days.

Setup is easy: most people get it running in one sitting. An official Docker image is available. It is MIT-licensed and written mostly in Python.

Its closest alternative on selfhost.directory is grafana (90/100, 77 569 stars). It scores higher overall, so compare the two before you pick. See mqtt-exporter vs grafana side by side.

Features

  • Configurable metric prefix and labels
  • Custom state value mappings
  • ESPHome support
  • Hubitat support
  • Meshtastic support
  • Message Counters
  • Metric expiration/TTL
  • Prometheus metrics from MQTT
  • Shelly support
  • TLS support for MQTT and Prometheus
  • Topic filtering
  • Zigbee2MQTT support
  • Zwavejs2Mqtt support

mqtt-exporter README

How to install mqtt-exporter

Install mqtt-exporter with Docker

Environment variables
MQTT_ADDRESS

docker run -it -p 9000:9000 -e "MQTT_ADDRESS=192.168.0.1" kpetrem/mqtt-exporter

Interactive shell

mqtt-exporter releases & version history

More in Monitoring & observability

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…