故障排查
本指南帮助你诊断和解决 FlowMQ Enterprise 部署中的常见问题。
连接问题
无法连接到 Broker
- 检查 Broker 进程是否正在运行
- 确认主机地址和端口配置正确
- 检查防火墙规则是否放行了相应端口(MQTT: 1883/8883, Kafka: 9092/9093, AMQP: 5672)
- 验证认证凭据是否正确
- 检查 TLS 证书配置(如启用了 TLS)
连接频繁断开
- 检查网络稳定性
- 确认 keepalive / 心跳设置合理
- 监控服务器资源(CPU、内存、文件描述符)
- 检查客户端连接数是否超过限制
消息投递问题
消息未收到
- 确认消费者订阅的主题/队列名称正确
- 检查 QoS 设置(MQTT)
- 确认 Client ID 无冲突
- 检查访问控制规则(ACL)是否允许订阅
出现重复消息
- 检查 QoS 设置(QoS 1 允许重复投递)
- 确认客户端 Clean Session 标志设置
- 检查客户端重连逻辑是否正确处理了位点提交
性能问题
高延迟
- 监控系统资源使用情况(CPU、内存、磁盘 I/O)
- 检查网络延迟
- 评估消息大小是否合理
- 优化客户端配置(批量大小、压缩等)
内存使用过高
- 监控 Broker 堆内存使用
- 检查消息保留策略
- 确认队列容量限制配置合理
- 评估并发连接数
诊断工具
日志分析
bash
# 启用 debug 日志
flowmq --debug
# 查看日志
tail -f /var/log/flowmq/broker.log连接测试
bash
# 测试 MQTT 连接
mqttx conn -h your-flowmq-host -p 1883
# 测试 Kafka 连接
kafka-broker-api-versions.sh --bootstrap-server your-flowmq-host:9092性能监控
bash
# 查看系统指标
flowmq stats
# 查看客户端连接
flowmq clients list错误码
| 错误码 | 说明 |
|---|---|
| 1 | 认证失败 |
| 2 | 授权失败 |
| 3 | 连接数达到上限 |
| 4 | 无效协议 |
| 5 | 系统资源耗尽 |
获取帮助
如果以上步骤无法解决问题:
- 查阅本文档的其他章节
- 检查发布说明(Release Notes)中的已知问题(以企业版交付件为准)
- 联系企业版技术支持团队