项目地址:
https://github.com/terdia/mqttui
terdia/mqttui 是基于 Flask 的一款开源 Web 应用,用于实时可视化展示 MQTT(消息队列遥测传输)的消息流。它支持用户通过简洁直观的 Web 界面监控 MQTT 主题、发布消息,并查看消息统计信息。
提供 Docker 部署化方式。
使用 docker-compose 的方式部署,docker-compose.yml 内容如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| services:
mosquitto:
image: eclipse-mosquitto:2
container_name: mosquitto
ports:
- 1883:1883
- 9001:9001
volumes:
- ./.mosquitto/data:/mosquitto/data
- ./.mosquitto/log:/mosquitto/log
- ./.mosquitto/config:/mosquitto/config
mqtt_web:
image: terdia07/mqttui:v1.3.2
container_name: mqtt_web
ports:
- 5000:5000
environment:
- MQTT_BROKER=mosquitto
- MQTT_PORT=1883
depends_on:
- mosquitto
|
镜像 terdia07/mqttui:v1.3.2 支持的
环境变量
,有:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| - DEBUG=False
- HOST=0.0.0.0
- PORT=5000
- MQTT_BROKER=mosquitto
- MQTT_PORT=1883
- MQTT_USERNAME=
- MQTT_PASSWORD=
- MQTT_KEEPALIVE=60
- MQTT_VERSION=3.1.1
- SECRET_KEY=your-secret-key
- LOG_LEVEL=INFO
- MQTT_TOPICS=#
- DB_ENABLED=True
- DB_PATH=/app/data/mqtt_messages.db
- DB_MAX_MESSAGES=10000
- DB_CLEANUP_DAYS=30
|
1
| docker-compose -f docker-compose.yml up -d
|
1
| docker-compose -f docker-compose.yml ps -a
|
1
2
3
| NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
mosquitto eclipse-mosquitto:2 "/docker-entrypoint.…" mosquitto 27 minutes ago Up 27 minutes 0.0.0.0:1883->1883/tcp, 0.0.0.0:9001->9001/tcp
mqtt_web terdia07/mqttui:v1.3.2 "/entrypoint.sh" mqtt_web 27 minutes ago Up 27 minutes 0.0.0.0:5000->5000/tcp
|
访问
http://localhost:5000/
,如下图:

评价
在界面上操作了一下,一般般,不是很推荐,原因如下:
- 只有一个页面,没有其它复杂功能操作
- Message flow 的可视化,没什么用
- 有 BUG,如超出视角的内容无法滚动